proto/default.proto
syntax="proto3";
// import "google/protobuf/timestamp.proto";
option go_package="./pb";
enum Week{
Sunday = 0;
Monday = 1;
Tuesday = 2;
Wednesday = 3;
Thursday = 4;
Friday = 5;
Saturday = 6;
}
message TodoRequest{
string todo = 1;
Week week = 2;
map<string,string> bookMap = 3;
// google.protobuf.Timestamp doneTime = 4;
}
message TodoResponse{
bool done = 1;
}
// go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
// go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2
// export PATH="$PATH:$(go env GOPATH)/bin"
// protoc --go_out=. --go-grpc_out=. proto/default.proto
main.go
package main
import (
"fmt"
"study/pb"
)
func main() {
t1 := pb.TodoRequest{
Todo: "go语言从入门到精通",
Week: pb.Week_Monday,
}
fmt.Println(t1)
fmt.Println(pb.Week_Friday)
m1 := map[string]string{"go": "go语言从入门到精通"}
t1.BookMap = m1
fmt.Println(t1)
// t1.DoneTime = timestamppb.New(time.Now())
// fmt.Println(t1)
}