test.proto文件數組
syntax = "proto3";//指定proto文件版本 package go; //指定文件縮放的package名 //定義對象 message Test { enum PhoneType //枚舉消息類型 { MOBILE = 0; //proto3版本中,首成員必須爲0,成員不該有相同的值 HOME = 1; WORK = 2; } int32 flag = 1; //定義變量、類型以及消息中的位置 map<string, string> extension = 2; //定義map對象 repeated int32 list = 3; //定義整型數組 PhoneType type = 4;//定義枚舉類型 }
test1.proto文件spa
syntax = "proto3"; package go; import "test.proto"; //引入其餘proto文件 message Test1 { go.Test testFlag = 1; string name = 2; }
生成go文件命令:對象
protoc --go_out=./go/ -I ./proto test.proto test1.proto
protobuf和GO數據類型對比ci
probuf | go | |
---|---|---|
布爾類型 | bool | bool |
雙精度浮點 | dobule | float64 |
單精度浮點 | float | flaot32 |
32位整數 | int32 | int32 |
無符號32位整數 | unit32 | unit32 |
64位整數 | int64 | int63 |
無符號64位整數 | unit64 | unit64 |