go-zero常用命令

Posted by Qiuyu Zhang on 2023-08-04

go-zero 是一个集成了各种工程实践的 web 和 rpc 框架。通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验。
go-zero 包含极简的 API 定义和生成工具 goctl,可以根据定义的 api 文件一键生成 Go, iOS, Android, Kotlin, Dart, TypeScript, JavaScript 代码,并可直接运行。
goctl安装

goctl命令


goctl api 生成go代码命令

1
goctl api go -api ${your_file.api} -dir ./ --style=goZero --home ${your_template}
  • 参数详解
    • -api 自行编写的api文件 语法参考
    • -dir 生成代码存放的路径
    • –style 生成代码文件命名风格,这里使用驼峰风格
    • –home 指定自定义模版(如果没有可以不写这个参数,使用默认),想自定义模版可以参考模版定制化

goctl 生成dockerfile命令

1
goctl docker --go main.go --exe main
  • 参数详解
    • –go 主函数启动项
    • –exe 可执行文件名称一般与主函数文件名字相同

goctl grpc 生成go代码命令

1
2
3
4
5
6
7
8
9
10
11
12
# 分组
goctl rpc protoc ./pb/test.proto --go_out=./pb --go-grpc_out=./pb --zrpc_out=. -m
# 不分组
goctl rpc protoc ./pb/test.proto --go_out=./pb --go-grpc_out=./pb --zrpc_out=.
# proto文件引用第三方文件
goctl rpc protoc \
-I /Users/qy/go/src/github.com/gogo/protobuf/gogoproto/ \
--go_out=./pb \
--go-grpc_out=./pb \
-I ./pb/ \
./pb/attachment.proto \
--zrpc_out=.
  • 分组生成效果参考服务分组
  • 参数详解
    • –go_out 是protoc里面指令参数,表示生成go文件存放路径
    • –go-grpc_out 是protoc里面指令参数,表示生成go_grpc文件存放路径
    • –zrpc_out 是goctl rpc protoc指令参数,表示生成代码文件存放路径