簡體   English   中英

Go + Protocol buffers 的行為真的很奇怪

[英]Go + Protocol buffers acting really strange

我正在為我正在處理的項目編寫基於服務的服務器,該服務器是用 Go 編寫的,並使用協議緩沖區進行服務間通信。 一切正常,直到我添加了名為DeviceRequestDeviceResponse協議,現在編譯器找不到它們,而協議的 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM