有没有一种方法可以将protobuf编译与go build
命令集成?
答案 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