我仍在嘗試了解 Go 工作區(qū)布局。我有一個(gè)包todinfo和一個(gè)使用它的示例程序,untod.我目前有這樣的目錄安排:$GOPATH+- bin...+- pkg ...+- src +- github.com +- longborough +- (others)... +- todinfo +- todinfo.go +- untod.go我最初在不同的目錄中開(kāi)發(fā)了這兩個(gè)程序。但是,由于untod它確實(shí)是 todinfo 包的一部分,因此將其打包為單個(gè)項(xiàng)目,在同一目錄中似乎更為明智。但是當(dāng)我嘗試安裝時(shí)(為了清楚起見(jiàn),我將回復(fù)分成三行):D:\Development\Go\src\github.com\longborough\todinfo>go install can''t load package: package github.com/longborough/todinfo: found packages todinfo (todinfo.go) and main (untod.go) in D:\Development\Go\src\github.com\longborough\todinfo我希望我弄錯(cuò)了,但這聞起來(lái)有點(diǎn)像 Java,至少對(duì)于外行來(lái)說(shuō)。我究竟做錯(cuò)了什么?我應(yīng)該使用哪些 Go 命令來(lái)安裝包然后安裝示例?或者,正確的目錄安排是什么?
1 回答

元芳怎么了
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
這也讓我??梢赃@樣想:untod
不是todinfo
包的一部分,它是todinfo
包(庫(kù))的消費(fèi)者。事實(shí)上,main
它根本不是一個(gè)真正的包,只是一個(gè)標(biāo)記,表明它有一個(gè)入口點(diǎn),應(yīng)該編譯成二進(jìn)制文件。
TLDR:你可以放在untod
任何地方。在 root 中可能是明智的:它會(huì)被命名為你的最后一個(gè) dir 組件$GOPATH
。或者,cmd/untod/untod.go
如果您有多個(gè)二進(jìn)制文件,請(qǐng)將其放入。
經(jīng)過(guò)一些更多的開(kāi)發(fā),您可能會(huì)考慮制作一個(gè)單獨(dú)的 repo,github.com/longborough/todinfo-bins
以便將它們分開(kāi)。
- 1 回答
- 0 關(guān)注
- 211 瀏覽
添加回答
舉報(bào)
0/150
提交
取消