使用Go工具进行Protobuf编译

时间:2013-06-25 00:01:07

标签: go protocol-buffers

有没有一种方法可以将protobuf编译与go build命令集成?

1 个答案:

答案 0 :(得分:2)

goprotobuf“以Google协议缓冲区的形式提供Go支持,以库和协议编译器插件的形式提供”。

README图书馆的goprotobuf有一些很好的信息。

来自https://code.google.com/p/goprotobuf/source/browse/README#106

  

考虑文件test.proto,包含

    package example;

    enum FOO { X = 17; };

    message Test {
      required string label = 1;
      optional int32 type = 2 [default=77];
      repeated int64 reps = 3;
      optional group OptionalGroup = 4 {
        required string RequiredField = 5;
      }
    }
  

要从test.proto和其他一些Go文件构建一个包,请编写一个类似这样的Makefile:

    include $(GOROOT)/src/Make.$(GOARCH)

    TARG=path/to/example
    GOFILES=\
        test.pb.go\
        other.go

    include $(GOROOT)/src/Make.pkg
    include $(GOROOT)/src/pkg/code.google.com/p/goprotobuf/Make.protobuf