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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 git 設(shè)置正確的 Golang 目錄結(jié)構(gòu)以在自定義包上使用 go build

使用 git 設(shè)置正確的 Golang 目錄結(jié)構(gòu)以在自定義包上使用 go build

Go
慕慕森 2023-05-15 10:31:23
所以幾周來我一直在摸不著頭腦,在閱讀了幾個關(guān)于工作原理及其三個神奇目錄的資源后,$ go build我/bin仍然不太清楚如何使用自定義包構(gòu)建 Golang 項目以及如何應(yīng)該管理一個 git repo。/pkg/src讓我更詳細地解釋一下我的情況:我在與默認.../user/go/.... 對于我所有的項目,我有一個不同的目錄樹,其結(jié)構(gòu)如下:projects | project-a | project-b    | docs    | media    | scrum    | project-b   <-- git repo containg Go structure       | .git       | gitignore.txt       | bin       | pkg       | src          | custom-package-a          |  | foo.go          | custom-package-b          |  | bar.go |     | main.go       | project-c我的projects目錄可以包含任何類型的項目:java、Unity3D、VisualC# 等...然后在其下的每個項目中,它包含一個帶有源代碼的 repo。我最近能夠通過添加projects/project-b/project-b到我的 GOPATH 來成功構(gòu)建,因此它可以看到 src 目錄。即使構(gòu)建正確,典型 Go 項目的文件結(jié)構(gòu)應(yīng)該是這樣的嗎?在我的 GOPATH 中,我刪除了原來的路徑user/go,只使用了項目目錄。當(dāng)從 github 安裝其他包時,它們會包含在 repo 中,因為 GOPATH 沒有在其他任何地方設(shè)置,所以我的 repo 有這些不同的子模塊。將外部包安裝到 repo 中是明智之舉,還是應(yīng)該將它們放入不同的 go 目錄中?我擔(dān)心這可能會使回購變得混亂。我可以包括我需要知道我是否正確使用自定義包。我的意圖是在我的代碼庫中采用面向?qū)ο蟮姆椒ǎ⑶椅覍⒚總€包都視為一個類。制作自定義包以將它們視為類是一件明智的事情嗎?我發(fā)現(xiàn)有必要避免函數(shù)和變量之間的同名沖突。示例:package-a.GetThing(), package-b.GetThing()。這兩個函數(shù)產(chǎn)生相似(不完全)的輸出,但使用不同的數(shù)據(jù)集并需要不同的實現(xiàn)。projects/project-b/project-b/我的控制臺在我使用時處于打開狀態(tài)go build并且工作正常。如果我移動main.go到 src 內(nèi)部,也一樣。一個問題是 Go 構(gòu)建器奇怪地將編譯后的二進制文件放在我調(diào)用的同一目錄中g(shù)o build。不應(yīng)該go build將它放在bin目錄中,或者我是否需要在使用命令時強制執(zhí)行輸出路徑?我知道 GOBIN,但它似乎沒有用。
查看完整描述

1 回答

?
明月笑刀無情

TA貢獻1828條經(jīng)驗 獲得超4個贊

從 Go 1.11 開始,你不需要使用 $GOPATH。

您可以使用go mod init [your repo]并運行go install,或者go build將為您下載 deps,并創(chuàng)建一個go.mod和文件來跟蹤 deps。go.sum


查看完整回答
反對 回復(fù) 2023-05-15
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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