go mod和grpc使用
1.检查go.mod文件设置
名字和版本一定要对应
2.参考网站
https://blog.csdn.net/zhangyibei2008/article/details/104672471
设置好后就可以引用其他包里面的函数来
3.GRPC使用
gRPC使用
Go语言生成
> 1、先安装Protobuf 编译器 protoc, 参考网页https://www.jianshu.com/p/20ed82218163
> 1.1下载地址:https://github.com/protocolbuffers/protobuf/releases/tag/v3.15.7
> 1.2下载文件名称:protoc-3.15.7-win64.zip,解压后将将压缩包bin目录下的protoc.exe
> 1.3放置在如下路径,protoc.exe
> 1.4在终端检查protoc是否安装成功,安装成功后运行如下:
2、获取go的gRPC包(网络问题可参阅https://www.jianshu.com/p/6392cb9dc38f)
go get google.golang.org/grpc
3、安装proto
// gRPC运行时接口编解码支持库
go get -u github.com/golang/protobuf/proto
// 从 Proto文件(gRPC接口描述文件) 生成 go文件 的编译器插件
go get -u github.com/golang/protobuf/protoc-gen-go
3.1 编译C:\Projects\drilljumbo-control\src\api路径下的api.proto文件
protoc.exe --go_out=plugins=grpc:. api.proto
3.2 proto文件命名空间写法:
option go_package = "/;api";
#该操作会在Go的可执行文件目录生成一个protoc-gen-go.exe
go get -u github.com/golang/protobuf/protoc-gen-go
C#生成
提前安装3个Nuget包
Install-Package Google.Protobuf
Install-Package Grpc
Install-Package Grpc.Tools
protoc -I=. --csharp_out=. --grpc_out=. --plugin=protoc-gen-grpc=grpc_csharp_plugin.exe Helloworld.proto
其中protoc位于Nuget下载的Grpc.Tools目录下
proto文件命名空间写法:
option csharp_namespace = "WindowsFormsApp4";
**错误:**
> 'protoc-gen-go' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 --go_out: protoc-gen-go:
> Plugin failed with status code
解决办法: