windows10(家庭版),golang,protobuf安装及使用

windows10 家庭版;go 1.18.1;protoc 3.20.1;goland编辑器

1 安装

1.1 下载protoc buffer解压,将protoc.exe 放在go语言安装目录的bin目录下

protocol buffer下载地址(protoc-3.20.1-win64.zip):

Releases · protocolbuffers/protobuf · GitHub

1.2 命令行检查protoc是否正确安装,可以看到输入命令回车后显示版本号

 protoc --version

 网上其它文章有说到设置环境变量的,如果是放到go的bin目录,而且是比较新版本的go,环境变量都是自动设置了的。

设置》系统》关于》高级系统设置》高级》环境变量》系统变量》path;查看一下是否设置了go环境变量

1.3 下载go 插件

并且把插件的exe文件也放到go的bin目录。实际上我的插件文件被下载到了windows用户目录下的个人电脑名称目录下的go文件夹,可能是新版本的go是这样处理插件包的。我根据其它博客文章的操作,把那些文件又拷贝到go的安装目录的bin目录下。 两边都有。

go install google.golang.org/protobuf/cmd/protoc-gen-go
go install go-micro.dev/v4/cmd/protoc-gen-micro@v4

这些也全都下载了,我是初学者,反正先下载了再说

go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway@latest
 
go install github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2@latest
 
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
 
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

插件地址可能更新,因此这里的也可能失效,找最新的就行了

2. 使用

2.1 写好proto文件

syntax = "proto3";

package showproto;                 //这里容易踩坑
option go_package="./;showproto";  //这里容易踩坑



service Product {
  rpc AddProduct(ProductInfo) returns (ResponseProduct) {}
}

message ProductInfo {
  int64 id = 1;
  string product_name = 2;
}

message ResponseProduct {
  int64 product_id = 1;
}

踩坑:

protoc-gen-micro: error:bad Go source code was generated: 7:1: expected ‘IDENT‘, found ‘import‘_Geoisnow的博客-CSDN博客_protoc-gen-micro

 2.2 开始执行

我用的goland编辑器

目录结构

protoc --go_out=. --go_opt=paths=source_relative --micro_out=. --micro_opt=paths=source_relative product.proto

本文还参考了:

基于知名微服务框架go-micro开发gRPC应用程序 - 知乎

​​​​​​go protobuf安装与使用_sweey_lff的博客-CSDN博客_go 安装protobuf

golang安装protobuf 2022最新安装教程(windows)_上进的我的博客-CSDN博客_golang 安装proto

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值