@MynameIsBoxyy

Что нужно писать в файлах proto в option go_package?

Всем привет. Пытаюсь разобраться в кодогенерации protobuf. В данный момент в файлах .proto обязательно должна быть опция option go_package . Но я не пойму что тут указывать... Или у меня проблема в понимании структуры папок.
Если я указываю "example.com/project/protos/fizz" , то protoc создаст мне 4 папки (example.com, project. protos. fizz). Не уверен что это правильно. Но даже если так, то потом не получается подключить сгенерированный файл. Если делать go mod init ... , то опять непонятно что указывать в go_package. Команда go mod tidy, не может найти этот пакет.
Мне нужно загружать код на гитхаб и уже путь с гитхаба указывать? А если я хочу просто поэкспериметровать на компе, без гитхаба. Вопрос наверно простой, но прошу помочь разобраться, чтобы в голове улеглось. Дока от гугла ответов не дала, ну или я не там читаю.
  • Вопрос задан
  • 4653 просмотра
Решения вопроса 1
@ghostiam
На Go писатель, серверов пинатель.
Нужно указать полный путь до пакета, где будут лежать сгенерированные файлы.
В вашем случае (если будете держать сгенерированные и прото файлы в /protos/fizz)
option go_package = "example.com/project/protos/fizz";

далее запускаете генерацию с опцией
--go_opt=paths=source_relative

If the paths=source_relative flag is specified, the output file is placed in the same relative directory as the input file. For example, an input file protos/buzz.proto results in an output file at protos/buzz.pb.go.

https://developers.google.com/protocol-buffers/doc...

Загружать код в репозиторий не нужно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы