syntax="proto3"; //協議 proto2 和 proto3 syntax="porto3"必須位於檔案的頂部
package hello; //package 包名 生成的語言類放在什麼包裡面 這個package必須緊跟著syntax="proto3"
//定義service服務 會翻譯為HelloServiceClient 和 helloServiceClient 和對外暴露的 NewHelloServiceClient供客戶端呼叫
//還會翻譯為HelloServiceServer介面(SayHello方法在內 並且實現了SayHello方法並且內部會去呼叫SayHello方法) 和 對外暴露的RegisterHelloServiceServer 供服務端呼叫
service HelloService{
rpc SayHello(MutiHelloRequest) returns (MutiHelloResponse) {};
}
message HelloRequest{
}
message HelloResponse{
string name = 1;
}
//會翻譯成MutiHelloRequest結構體 裡面包含id []int64 | Time *MutiHelloRequest_Time | User *Use 欄位
message MutiHelloRequest{
repeated int64 id = 1;
message Time{
int64 start = 1;
int64 end = 2;
}
Time time = 2;
User user = 3;
}
//會翻譯為MutiHelloResponse結構體 裡面包含 id []int64 | User []*User 的欄位
message MutiHelloResponse{
repeated int64 id = 1;
repeated User user = 2;
}
//會翻譯為User結構體 裡面包含了 name string 的欄位
//自定義user型別
message User{
string name = 1;
}
本作品採用《CC 協議》,轉載必須註明作者和本文連結