protoc安装使用(学习笔记,不作教程)

下载protoc

window

https://github.com/protocolbuffers/protobuf/releases/tag/v3.19.4
在这里插入图片描述
并且指定环境变量或者把protoc.exe放在gopath的bin目录下则可以不指定环境变量在这里插入图片描述

linux

下载地址
https://github.com/protocolbuffers/protobuf/releases/download/v3.20.1/protoc-3.20.1-linux-x86_64.zip

//解压缩
unzip protoc-3.20.1-linux-x86_64.zip
 cd bin
 sudo mv protoc /home/go/bin/
 cd ../include/
 sudo mv google/ /usr/local/include/

在这里插入图片描述

vi /etc/profile

加入export PATH=$PATH:/home/go/bin

source /etc/profile:

在这里插入图片描述

编译go语言的工具包

这个protoc可以将proto文件编译为任何语言的文件,想要编译为go语言的,还需要下载另外一个可执行文件

命令是这样的:

go install google.golang.org/ProtoBuf/cmd/protoc-gen-go@latest

//用这个不会报错
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
(成功的话不用下面的解决办法)

但是我这样会报错()

解决办法如下

在gopanth的src下新建google.golang.org/protobuf目录
然后git bash 执行

git clone https://github.com/protocolbuffers/protobuf-go

然后把克隆下来的东西剪切放在上一级目录。然后把protobuf-go目录删掉
在这里插入图片描述
在这里插入图片描述

![在这里插入图片描述](https://img-blog.csdnimg.cn/d6ee7aa6c28b44e49e09d215ab8dce68.png
然后再执行

go get -u github.com/golang/protobuf/protoc-gen-go

就会在gopath/bin目录下生成
在这里插入图片描述

编写protoc代码

syntax = "proto3";

package hello;

option go_package = "./;hello";

message Say{
  int64           id    = 1;
  string          hello = 2;
  repeated string word  = 3;
}

在这里插入图片描述
执行

protoc --go_out=. hello.proto

在这里插入图片描述
可以看到生成了.pb.go文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值