[英]Go + Protocol buffers acting really strange
我正在為我正在處理的項目編寫基於服務的服務器,該服務器是用 Go 編寫的,並使用協議緩沖區進行服務間通信。 一切正常,直到我添加了名為DeviceRequest
和DeviceResponse
協議,現在編譯器找不到它們,而協議的 go 源存在並在我的GOPATH
設置。 WebStorm 也能找到它們,但由於某種原因編譯器沒有找到。 奇怪的是,Go 源不再存在的舊協議可以工作(Webstorm 也無法識別它們),請參閱這些屏幕截圖
我試過刪除我的GOPATH
的文件,但這沒有用。 我的猜測是go
正在使用某種緩存,但我在網上找不到任何關於它的信息。
協議緩沖區不會自動編譯為 Go 代碼,除非您有第三方工具來執行此操作。 作為 Protocol Buffers 一部分的 protoc 工具將用於創建 .proto 文件的 Go 實現。 輸出應位於您的 $GOPATH/src 中。 .a 文件將存儲在 $GOPATH/pkg 下。 代碼完成會查看 $GOPATH/pkg 而“go”工具會在 $GOPATH/src 中查找任何已更改的內容。
刪除 $GOPATH/pkg 的內容,然后運行“go install”以重新創建 .a 文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.