dasha_programmist
@dasha_programmist
ex Software Engineer at Reddit TS/React/GraphQL/Go

[Updated] Жива ли связка protobuf + go + grpc?

Коллеги живая ли связка? На сегодня не могу найти ни одного работающего как ожидается туториала: идешь в grpc - попадаешь на deprecated пакеты, идешь в protobuf - там не работают генераторы кода. Ишьюсы с этой проблемой на гитхабе в кол-вах нескольких штук закрыты, но по факту генератор не работает

protoc --go_out=pkg/ pkg/models.proto
cat pkg/models.pb.go

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
//   protoc-gen-go v1.25.0
//   protoc        v3.13.0
// source: reddar/models.proto

package pkg

import (
  proto "github.com/golang/protobuf/proto"
  protoreflect "google.golang.org/protobuf/reflect/protoreflect"
  protoimpl "google.golang.org/protobuf/runtime/protoimpl"
  reflect "reflect"
  sync "sync"
)


proto "github.com/golang/protobuf/proto" почему она ссылается на гитхаб?

@pav5000

UPD:
вроде получилось, даже с учетом что либы с разных пакетов
оказывается нужно было вот так маршалить
proto.Marshal(payload.ProtoReflect().Interface())
а было вот так
proto.Marshal(payload.ProtoReflect())
  • Вопрос задан
  • 249 просмотров
Решения вопроса 3
MonAkka
@MonAkka
Born in IT
Импортируется модуль выложенный на GitHub (go get github.com/golang/protobuf/proto).
proto "github.com/golang/protobuf/proto" почему она ссылается на гитхаб?
Ответ написан
@ghostiam
На Go писатель, серверов пинатель.
Отлично связка живёт и развивается.
Не знаю какие уроки/статьи вы смотрите, из офф доки всё работает, пользуюсь постоянно.
https://grpc.io/docs/languages/go/

Вот как выглядит сгенерированный файл
https://github.com/ghostiam/gosandbox/blob/master/...
Совсем другие импорты, нежели у вас.
Ответ написан
Связка жива, массово используем в продакшне.
Можете попробвать вот это для более легкой сборки протофайлов. Только разок настроить надо.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы