Как описать сервис в .proto для Go?

Ответ

В .proto задают package (или option go_package для Go), message с полями и номерами, service с rpc методами (входной и выходной тип). Для Go генерируют: .pb.go с сообщениями и .pb.grpc.go с интерфейсом сервера и клиентским кодом. Сервер реализует сгенерированный интерфейс и регистрирует его в grpc.Server.

syntax = "proto3";
option go_package = "pkg/proto";
service UserService {
  rpc GetUser (GetUserRequest) returns (User);
}
message GetUserRequest { int64 id = 1; }
message User { int64 id = 1; string name = 2; }
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.