GO語言項(xiàng)目結(jié)構(gòu)
在進(jìn)行GO語言項(xiàng)目開發(fā)的時(shí)候,我們的代碼總是會(huì)保存在
$GOPATH/src目錄下。
在項(xiàng)目經(jīng)過go build、go install或go get等指令后,會(huì)將下載的第三方包源代碼文件放在$GOPATH/src目錄下,產(chǎn)生的二進(jìn)制可執(zhí)行文件放在$GOPATH/bin目錄下,生成的中間緩存文件會(huì)被保存在$GOPATH/pkg目錄下。
適合個(gè)人開發(fā)
我們知道源代碼都是存放在
$GOPATH/src目錄下的,那么我們可以按照下圖來組織我們的代碼。
image.png
目前流行的項(xiàng)目結(jié)構(gòu)
go語言是通過包來組織代碼文件的,我們可以引入別人的包,也可以發(fā)布自己的包,為了防止不同包的項(xiàng)目名沖突,我們通常使用
頂級(jí)域名來作為包名的前綴,這樣就不擔(dān)心項(xiàng)目名沖突的問題了。
因?yàn)椴皇敲總€(gè)開發(fā)者都擁有自己的頂級(jí)域名,所以目前流行的方式是使用個(gè)人github.com用戶名來區(qū)分不同的包。
image.png
示例:
[root@iZbp19r2vmlr853x5azt4rZ src]# mkdir github.com
[root@iZbp19r2vmlr853x5azt4rZ src]# mkdir github.com/just5325
[root@iZbp19r2vmlr853x5azt4rZ src]# mkdir github.com/just5325/day01
適合企業(yè)開發(fā)
與
目前流行的項(xiàng)目結(jié)構(gòu)的區(qū)別就是,作者/機(jī)構(gòu)替換成了項(xiàng)目組。
image.png


