1 回答

TA貢獻1834條經(jīng)驗 獲得超8個贊
您快到了!我懷疑你可能會被相對路徑咬傷......
如果您的 proto 文件以這樣的開頭:
package author;
option go_package = "github.com/kurtpeek/proto-example/gen/go/author";
和
package book;
import "author/author.proto";
option go_package = "github.com/kurtpeek/proto-example/gen/go/book";
并使用構(gòu)建命令(帶有相對路徑)
mkdir -p gen/go
protoc book/book.proto --go_out=gen/go
protoc author/author.proto --go_out=gen/go
您生成的代碼將出現(xiàn)在這些相對路徑(到您的 CWD)中:
gen/go/github.com/kurtpeek/proto-example/gen/go/author/author.pb.go
gen/go/github.com/kurtpeek/proto-example/gen/go/book/book.pb.go
生成的book包應(yīng)該具有所需的導(dǎo)入:
package book
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
author "github.com/kurtpeek/proto-example/gen/go/author"
math "math"
)
如果您希望將生成的代碼放在特定目錄中,請使用絕對路徑:
mkdir -p /some/absolute/path
protoc my.proto --go_out=/some/absolute/path
- 1 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報