Hagamos un hola mundo con go-zero utilizando gRPC. Para empezar vamos a hacer el archivo .proto :
syntax = "proto3";
package hello;
option go_package = "./hello";
message Request {
}
message Response {
string msg = 1;
}
service Hello {
rpc Ping(Request) returns(Response);
}
$ goctl rpc protoc hello.proto --go_out=server --go-grpc_out=server --zrpc_out=server
Done.
luego hacemos :
cd server
go mod tidy
Completamos el archivo server/internal/logic/pinglogic.go
func (l *PingLogic) Ping(in *hello.Request) (*hello.Response, error) {
return &hello.Response{ Msg: "pong" }, nil
}
y luego en el archivo server/etc/hello.yaml agregamos que estamos trabajando en modo dev:
Name: hello.rpc
ListenOn: 0.0.0.0:8080
Mode: dev
y por ultimo corremos el proyecto:
go run hello.go