本文记录golang如何操作protobuf。

标准包与教程

具体参考 Protocol Buffer Basics: Go 的说明。

第三方库

使用 github.com/gogo/protobuf 提高性能。

protoc

这里下载安装protoc

调试

  • DebugString
    可以输出调试信息。bytes类型可见字符直接打印,其他八进制打印。
    可以通过如下方式转为十六进制字符串:
    1
    2
    
    byteSlice := []byte("$\016\000\341\251\000\000\020\000\000\000\000\000\000\000\036")
    fmt.Printf("hex str: %x\n", byteSlice)