20 April 2010
On March 24, Rob Pike announced goprotobuf, the Go bindings of Google's data interchange format Protocol Buffers, called protobufs for short. With this announcement, Go joins C++, Java, and Python as languages providing official protobuf implementations. This marks an important milestone in enabling the interoperability between existing systems and those built in Go.
The goprotobuf project consists of two parts: a 'protocol compiler plugin' that generates Go source files that, once compiled, can access and manage protocol buffers; and a Go package that implements run-time support for encoding (marshaling), decoding (unmarshaling), and accessing protocol buffers.
And then install the protobuf compiler plugin:
cd $GOROOT/src/pkg/goprotobuf.googlecode.com/hg/compiler make install
For more detail see the project's README file.
This is one of a growing list of third-party Go projects. Since the announcement of goprotobuf, the X Go bindings have been spun off from the standard library to the x-go-binding project, and work has begun on a Freetype port, freetype-go. Other popular third-party projects include the lightweight web framework web.go, and the Go GTK bindings gtk-go.
We wish to encourage the development of other useful packages by the open source community. If you're working on something, don't keep it to yourself - let us know through our mailing list golang-nuts.
- Go 2, here we come!
- Nine years of Go
- Participate in the 2018 Go User Survey
- Participate in the 2018 Go Company Questionnaire
- Go 2 Draft Designs
- Go 2017 Survey Results
- Hello, 中国!
- Participate in the 2017 Go User Survey
- Eight years of Go
- Community Outreach Working Group
- Contribution Workshop
- Contributors Summit
- Toward Go 2
- Go 2016 Survey Results
- Participate in the 2016 Go User Survey and Company Questionnaire
- Go, Open Source, Community
- GopherChina Trip Report
- Four years of Go
- Get thee to a Go meetup
- Go turns three
- Getting to know the Go community
- The Go Programming Language turns two
- Spotlight on external Go libraries
- Gobs of data