3

有没有将 protobuf 编译与go build命令集成的好方法?

4

1 回答 1

2

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

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
于 2013-06-25T13:53:21.250 回答