我有functions/hello.go文件運(yùn)行結(jié)果會在同一目錄中g(shù)o build創(chuàng)建新的二進(jìn)制文件。functions我想在functions目錄中有兩個(gè)源文件:hello.go并且hello2.go能夠運(yùn)行g(shù)o build,這會產(chǎn)生兩個(gè)二進(jìn)制文件:hello和hello2。如何做到這一點(diǎn)?
2 回答

catspeake
TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊
Go 包按目錄劃分范圍。這意味著您在一個(gè)目錄中只能有一個(gè)包,因此最多只能有一個(gè)“主”包。你想做的事根本不可能*。
您需要創(chuàng)建子目錄:
functions/hello/hello.go functions/hello2/hello2.go
然后你可以這樣構(gòu)建它們:
go build functions/...
*從技術(shù)上講,您可以通過完全濫用 go 工具鏈,并指定要編譯的特定 go 包來完成您想要的組織,該包優(yōu)先于目錄中的其他文件。這只適用于最小的程序(基本上,一個(gè)包含在單個(gè) .go 文件中的程序,或少量可管理的 .go 文件)這將需要多個(gè)命令,而且這永遠(yuǎn)不應(yīng)該完成,所以我'我什至不打算解釋如何做到這一點(diǎn)。簡單地說:永遠(yuǎn)不要這樣做!

哆啦的時(shí)光機(jī)
TA貢獻(xiàn)1779條經(jīng)驗(yàn) 獲得超6個(gè)贊
你可以有 2 個(gè)單獨(dú)的包,都帶有main
func,然后在兩個(gè)目錄中發(fā)出這個(gè)命令: GOBIN={compiled-dir} go install
- 2 回答
- 0 關(guān)注
- 171 瀏覽
添加回答
舉報(bào)
0/150
提交
取消