一個簡單的 protobuf 文件定義如下:
response.proto
syntax = "proto3";
option go_package = "github.com/TripleCGame/apis/api;api";
import "google/protobuf/struct.proto";
message Response {
int32 code = 1;
google.protobuf.Struct data = 2;
string msg = 3;
}
syntax = “proto3”;—指定使用 proto3 語法
option go_package = "github.com/TripleCGame/apis/api;api";—前一個參數用於指定生成文件的位置,後一個參數指定生成的 .go 文件的 package 。具體語法如下:
|
注意:這裏指定的 out_path 並不是絕對路徑,只是相對路徑或者說只是路徑的一部分,和 protoc 的 --go_out
拼接後纔是完整的路徑。
生成的pb.go文件:
go_package的定義也體現在import 該proto的文件的地方:
這裏剛好import的時候制定路徑