第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 Go 模塊時(shí)生成倉(cāng)庫(kù)內(nèi)原型的最佳實(shí)踐

使用 Go 模塊時(shí)生成倉(cāng)庫(kù)內(nèi)原型的最佳實(shí)踐

Go
神不在的星期二 2023-07-04 10:02:21
以前配置為使用的存儲(chǔ)庫(kù)GOPATH現(xiàn)在配置為模塊。一切都很好,而且更好。然而,protoc 正確地(?。榻Y(jié)構(gòu)中的存儲(chǔ)庫(kù)中定義的 protobuf 生成 Golang 代碼,github.com/path/to/repo/protos而我現(xiàn)在更喜歡在GOPATH. 我正在推動(dòng)他們解決這個(gè)問題。有更好的解決方案嗎?我有一個(gè) GitHub 存儲(chǔ)庫(kù)。為了討論方便,我們稱之為github.com/acme/toolbox。在子目錄中,我有 protobuf 文件,其中包括:package acme.toolbox.v1;option go_package = "github.com/acme/toolbox/protos";當(dāng)我GOPATH'ing 時(shí),一切都很好,并且protoc會(huì)生成 Golang 綁定,$GOPATH/src/github.com/acme/toolbox/protos并且我的代碼 importpb "github.com/acme/toolbox/protos"可以工作。遷移到Go Modules并非一帆風(fēng)順,但好處大于成本,我正在為自己和代碼提供面向未來的保障。我的問題是,我不知道如何protoc在我的任意克隆之外生成 Golang 綁定GOPATH。我在生成文件后移動(dòng)它們,但這感覺......不優(yōu)雅:cd ${TOOLBOX}protoc \--proto_path=./protos \--go_out=plugins=grpc:/go/src./protos/*.protomv ${GOPATH}/src/github.com/acme/toolbox/protos/*.go ${TOOLBOX}/protos有更好的解決方案嗎?
查看完整描述

1 回答

?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

該選項(xiàng)的要點(diǎn)go_package是定義 go 包名稱。話雖如此,它的行為也可能會(huì)根據(jù)您的設(shè)置而有所不同。


如果option go_package定義為有效的 go 包名稱(例如 protos),將在使用該包名稱protoc定義的文件夾中生成文件。--go_out如果option go_package是路徑(例如 github.com/acme/toolbox/protos),protoc將創(chuàng)建相對(duì)于定義的文件夾結(jié)構(gòu)--go_out并將文件放置在那里,包名稱與最后一個(gè)文件夾名稱相同。


除非我弄錯(cuò)了你想要做的事情,否則你可以更改go_package為:


option go_package = "protos";

并將您的protoc調(diào)用更改為:


protoc \

--proto_path=./protos \

--go_out=plugins=grpc:${TOOLBOX}/protos

./protos/*.proto

${TOOLBOX}/protos這樣做,生成的文件將與 go 包一起放置package protos。


查看完整回答
反對(duì) 回復(fù) 2023-07-04
  • 1 回答
  • 0 關(guān)注
  • 159 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)