背景
记录使用proto做gprc接口的几个小坑,基于goland ide
import
写proto时,有时候需要引入其它proto,之后会发现goland提示import路径不存在
![(img-51fX3h1c-1610524640721)(/img/bVcNrkr)]](https://i-blog.csdnimg.cn/blog_migrate/ccde122c7e50402919d21c3137f5f264.png)
注意,这里只是goland插件提示而已,与实际生成无关,只需要在插件路径中,加入你proto的路径即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6yt3II7j-1610524640725)(/img/bVcNrkL)]](https://i-blog.csdnimg.cn/blog_migrate/3fa214dd81feddddf20eb9b4de6dcf48.png)
而在实际生成pb文件时,只需要在命令中,通过-I加入关联的目录即可
protoc --go_out=plugins=grpc:. -I=${GOPATH}/src -I=. *.proto
google protobuf
很多时候,我希望引用google成熟的proto,比如"google/protobuf/empty.proto",然后我去github上搜索,搜索出来的库里也确实有这些proto,但是混杂了很多其它的文件,而且目录也不是google/protobuf/
其实这个文件已经完整的放在了下载protoc这个工具的包里,只是当时没注意,在include这个目录下
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t9O8TGIm-1610524640730)(/img/bVcNrnR)]](https://i-blog.csdnimg.cn/blog_migrate/08b69baa54d0888583189a395a564253.png)





