约定
- Server / Service
- Server 指服务端
- Service 指服务端提供的若干服务项
项目结构
---my_project
|---protocol
| |---hello_world
| |---hello_world.pb.go
| |---hello_world.proto
| |---hello_world_grpc.pb.go
|---service
|---hello_world
|---hello_world.go
具体操作
- protocol 目录下,一个 Service 一个文件夹,在这里 hello_world 就是一个 Service,Service 下写 .proto 文件
package 后面需要跟 go_package 并指明文件在 git 上的路径,例如:
option go_package = "github.com/xubk/my_project/protocol/hello_world";
- 进入 /protocol/${Service} 目录下,执行命令:
protoc \
-I=. \
--go_out=. \
--go_opt=paths=source_relative \
--go-grpc_out=. \
--go-grpc_opt=paths=source_relative \
*.proto