proto文件转为golang结构体的方法总结
1. 安装protoc插件
go get github.com/golang/protobuf/protoc-gen-go
安装完成之后,会在GOPATH/bin
下的bin目录里看到下载的protoc-gen-go
。可以在这个目录下执行命令,在其他目录下直接执行protoc命令可能会找不到命令,可以添加下路径。
2. 添加路径
#拷贝二进制文件
cp protoc-gen-go /usr/local/bin/
#添加环境变量
vim ~/.bash_profile
export GOPATH=$HOME/go PATH=$PATH:$GOPATH/bin
source ~/.bash_profile
设置环境变量的几个配置文件
/etc/profile #系统级别的环境变量设置,对所有用户生效,一般不建议修改这个文件
~/.profile #和~/.bash_profile类似,但是可以由其他shell读取
~/.bash_profile #用户级别的环境变量设置,对当前用户生效,只会由bash读取
~/.bashrc #用户级别的设置,一般用于设置bash的一些配置,如别名,函数定义等
/etc/.bashrc #系统级别设置
3. 转换命令
--proto_path
或者-I
表示proto文件输入目录,--go_out
表示转换后golang
代码的输出目录,src/*.proto
后面是具体的proto
文件。
protoc --proto_path=src --go_out=out src/*.proto
参考文献
https://juejin.cn/post/6844903944511029262
https://unix.stackexchange.com/questions/38175/difference-between-login-shell-and-non-login-shell