Golang中Proto編寫和生成

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
相關文章
相關標籤/搜索