我只是想使用协议缓冲区为 golang 生成代码。但无法使用 protoc 命令生成服务。
syntax = "proto3";
package greet;
option go_package="./greet/greetpb";
service GreetService{}
Run Code Online (Sandbox Code Playgroud)
上面是一个虚拟的原始文件,我正在尝试将其转换为 golang。但无法生成正确的文件,因为在我的系统中它无法将service GreetService{} 线路识别为服务。
我在Windows系统上使用以下版本的protoc:
PS D:\Study\grpc\go-grpc-course> protoc --version
libprotoc 3.17.3
Run Code Online (Sandbox Code Playgroud)
使用以下命令生成代码:
协议 .\greet\greetpb\greet.proto --go_out=.
下面是上面命令生成的go代码:
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.26.0
// protoc v3.17.3
// source: greet/greetpb/greet.proto
package greetpb
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that …Run Code Online (Sandbox Code Playgroud)