03.protoc命令示例

  1. 上一个02步骤,已经写好了demo.proto的文件
  2. 运行命令protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative .\proto\trip.proto生成对应的go文件
  3. 上述命令分别生成了2个文件
    3.1 protoc --go_out=. --go_opt=paths=source_relative .\proto\trip.proto生成了message对应的的trip.pb.go文件,示例如下
    type TripStatus int32
    const (
      TripStatus_IS_NOT_SPECIFIED TripStatus = 0
      TripStatus_NOT_START        TripStatus = 1
      TripStatus_IN_PROGRESS      TripStatus = 2
      TripStatus_FINISHED         TripStatus = 3
      TripStatus_PAID             TripStatus = 4
      TripStatus_OVER             TripStatus = 5
    )
    // Enum value maps for TripStatus.
    var (
      TripStatus_name = map[int32]string{
        0: "IS_NOT_SPECIFIED",
        1: "NOT_START",
        2: "IN_PROGRESS",
        3: "FINISHED",
        4: "PAID",
        5: "OVER",
      }
      TripStatus_value = map[string]int32{
        "IS_NOT_SPECIFIED": 0,
        "NOT_START":        1,
        "IN_PROGRESS":      2,
        "FINISHED":         3,
        "PAID":             4,
        "OVER":             5,
      }
    )
    type Location struct {
      state         protoimpl.MessageState
      sizeCache     protoimpl.SizeCache
      unknownFields protoimpl.UnknownFields
      Lat float64 `protobuf:"fixed64,1,opt,name=lat,proto3" json:"lat,omitempty"`
      Lon float64 `protobuf:"fixed64,2,opt,name=lon,proto3" json:"lon,omitempty"`
    }
    
    3.2 protoc --go-grpc_out=. --go-grpc_opt=paths=source_relative .\proto\trip.proto生成了service对应的trip_grpc.pb.go文件,里面分别定义了TripServiceServerTripServiceClient两个interface,分别对应服务端和客户端
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容