diff options
Diffstat (limited to 'examples/list_people.go')
-rw-r--r-- | examples/list_people.go | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/examples/list_people.go b/examples/list_people.go deleted file mode 100644 index 70bc589e..00000000 --- a/examples/list_people.go +++ /dev/null @@ -1,61 +0,0 @@ -package main - -import ( - "fmt" - "io" - "io/ioutil" - "log" - "os" - - "github.com/golang/protobuf/proto" - pb "github.com/google/protobuf/examples/tutorial" -) - -func writePerson(w io.Writer, p *pb.Person) { - fmt.Fprintln(w, "Person ID:", p.Id) - fmt.Fprintln(w, " Name:", p.Name) - if p.Email != "" { - fmt.Fprintln(w, " E-mail address:", p.Email) - } - - for _, pn := range p.Phones { - switch pn.Type { - case pb.Person_MOBILE: - fmt.Fprint(w, " Mobile phone #: ") - case pb.Person_HOME: - fmt.Fprint(w, " Home phone #: ") - case pb.Person_WORK: - fmt.Fprint(w, " Work phone #: ") - } - fmt.Fprintln(w, pn.Number) - } -} - -func listPeople(w io.Writer, book *pb.AddressBook) { - for _, p := range book.People { - writePerson(w, p) - } -} - -// Main reads the entire address book from a file and prints all the -// information inside. -func main() { - if len(os.Args) != 2 { - log.Fatalf("Usage: %s ADDRESS_BOOK_FILE\n", os.Args[0]) - } - fname := os.Args[1] - - // [START unmarshal_proto] - // Read the existing address book. - in, err := ioutil.ReadFile(fname) - if err != nil { - log.Fatalln("Error reading file:", err) - } - book := &pb.AddressBook{} - if err := proto.Unmarshal(in, book); err != nil { - log.Fatalln("Failed to parse address book:", err) - } - // [END unmarshal_proto] - - listPeople(os.Stdout, book) -} |