protobuf/examples
Feng Xiao 9e1777f4b0 Merge pull request #1052 from tswast/master
Add region tags to the Go protobuf examples.
2015-12-17 11:42:59 -08:00
..
add_person_test.go Add a Go language example. 2015-11-25 10:46:35 -08:00
add_person.cc rename persons to people 2015-07-20 15:24:08 -07:00
add_person.go Add region tags to the Go protobuf examples. 2015-12-15 15:56:23 -08:00
add_person.py rename persons to people 2015-07-20 15:24:08 -07:00
AddPerson.java rename persons to people 2015-07-20 15:24:08 -07:00
addressbook.proto Add region tags for protocol buffers tutorials. 2015-12-01 17:07:18 -08:00
list_people_test.go Improves readability of Go example test. 2015-12-16 14:46:28 -08:00
list_people.cc rename persons to people 2015-07-20 15:24:08 -07:00
list_people.go Add region tags to the Go protobuf examples. 2015-12-15 15:56:23 -08:00
list_people.py rename persons to people 2015-07-20 15:24:08 -07:00
ListPeople.java rename persons to people 2015-07-20 15:24:08 -07:00
Makefile Add a Go language example. 2015-11-25 10:46:35 -08:00
README.txt Add a Go language example. 2015-11-25 10:46:35 -08:00

This directory contains example code that uses Protocol Buffers to manage an
address book.  Two programs are provided, each with three different
implementations, one written in each of C++, Java, and Python.  The add_person
example adds a new person to an address book, prompting the user to input
the person's information.  The list_people example lists people already in the
address book.  The examples use the exact same format in all three languages,
so you can, for example, use add_person_java to create an address book and then
use list_people_python to read it.

You must install the protobuf package before you can build these.

To build all the examples (on a unix-like system), simply run "make".  This
creates the following executable files in the current directory:
  add_person_cpp     list_people_cpp
  add_person_java    list_people_java
  add_person_python  list_people_python

If you only want to compile examples in one language, use "make cpp"*,
"make java", or "make python".

All of these programs simply take an address book file as their parameter.
The add_person programs will create the file if it doesn't already exist.

These examples are part of the Protocol Buffers tutorial, located at:
  https://developers.google.com/protocol-buffers/docs/tutorials

* Note that on some platforms you may have to edit the Makefile and remove
"-lpthread" from the linker commands (perhaps replacing it with something else).
We didn't do this automatically because we wanted to keep the example simple.

## Go ##

The Go example requires a plugin to the protocol buffer compiler, so it is not
build with all the other examples.  See:
  https://github.com/golang/protobuf
for more information about Go protocol buffer support.

First, install the the Protocol Buffers compiler (protoc).
Then, install the Go Protocol Buffers plugin
($GOPATH/bin must be in your $PATH for protoc to find it):
  go get github.com/golang/protobuf/protoc-gen-go

Build the Go samples in this directory with "make go".  This creates the
following executable files in the current directory:
  add_person_go      list_people_go
To run the example:
  ./add_person_go addressbook.data
to add a person to the protocol buffer encoded file addressbook.data.  The file
is created if it does not exist.  To view the data, run:
  ./list_people_go addressbook.data

Observe that the C++, Python, and Java examples in this directory run in a
similar way and can view/modify files created by the Go example and vice
versa.