У меня есть два файла proto src в одной папке, скажем:
1-й - foo.proto
syntax = "proto3";
package foo;
второй - bar.proto
, которому нужно импортировать foo.proto
syntax = "proto3";
import "foo.proto";
package bar;
вы можете видеть, что у них разные имена пакетов, когда я использую protoc для их генерации один за другим (foo.proto в качестве первой причины), у меня сгенерированы два файла golang, но я должен поместить их в 2 каталога (вы можете не помещать файл с другим именем пакета в один и тот же каталог, golang)
foo/foo.pb.go
bar/bar.pb.go
но внутри bar.pb.go
импорт использует локальный путь импорта, который похож на
import foo "."
Я настраиваю несколько вариантов, которые предоставляет протокол, но не работает, какие-либо предложения?
protos/foo.proto
,protos/bar.proto
, а затем скомпилировать. Затем выходные.pb.go
можно переместить в нужный вам пакет. - person RickyA   schedule 22.06.2017option go_package
в прототип файла, это исправит, но, к сожалению, я не могу изменить исходный файл прототипа. и кажется,import_prefix
в этом случае работает не так, как я ожидал. - person rmrf100   schedule 22.06.2017