亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

Go - 我是為所有項目設置一個工作區,還是每個項目有一個工作區?

Go - 我是為所有項目設置一個工作區,還是每個項目有一個工作區?

Go
一只甜甜圈 2021-12-27 16:04:38
使用時Go如何組織項目?我對工作區部分有點困惑。我讀過以下內容:https : //golang.org/doc/code.html#Workspaces ... 這部分讓我有點失望:典型的工作區包含許多包含許多包和命令的源存儲庫。大多數 Go 程序員將所有 Go 源代碼和依賴項保存在一個工作區中。這是否意味著對于我創建的每個項目,它都是一個單獨的工作區?例如,如果兩個項目使用同一個包,我的計算機上就會有該包的兩個副本。或者,這是否意味著您有一個主工作區并且您的項目共享這些包?
查看完整描述

3 回答

?
慕田峪9158850

TA貢獻1794條經驗 獲得超8個贊

我個人喜歡每個項目有一個不同的 GOPATH。如果您可以使用工具來自動化該過程,則可以使用vg,它將負責為您的項目管理不同的 GOPATH。

巧妙的是它與大多數 shell 集成,并像您cd一樣自動檢測項目。


查看完整回答
反對 回復 2021-12-27
?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

到目前為止,當我想使用不同版本的 Go 或者我想將我的私人工作與孩子們和我玩得開心的代碼分開時,我會使用不同的工作區。此外,如果我想使用一些開源代碼但想要一種簡單的方法來清理它。


就像是


mk /tmp/tmpgo

cd /tmp/tmpgo

# Copy or edit a setenv file

. setenv  # I use bash

setenv 文件看起來像這樣。


export GOROOT=$HOME/go16

export GOPATH=$PWD

export GOBIN=$GOPATH/bin

export PATH=$GOROOT/bin:$GOPATH/bin:$PATH

export PS1='\[\033[01;32m\]workspacenamehere\[\033[01;33m\] \W\[\033[00m\] '

這給了我一個帶有自己的 bin、src、pkg 子目錄的 go 工作區。我可以去拿我想要的任何東西。如果我愿意,稍后我可以刪除整個臨時目錄。從諸如 github.com 之類的存儲庫中獲取東西往往會從其他貢獻者那里獲取許多包,但是因為它將它們全部放入一個干凈的 src 子目錄中,所以很容易使用查找并查看已拉下的內容。后來再次從高清中刪除所有內容就更容易了。


查看完整回答
反對 回復 2021-12-27
?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

您有一個工作區,項目共享這些包。

它在概述部分

Go 程序員通常將所有 Go 代碼保存在一個工作區中。

請注意,這與其他編程環境不同,在其他編程環境中,每個項目都有一個單獨的工作區,并且工作區與版本控制存儲庫密切相關。

編輯:如果您使用vendoring,您可以有效地為每個項目獲得一個單獨的工作區。這使事情更接近于其他編程語言的工作方式。


查看完整回答
反對 回復 2021-12-27
  • 3 回答
  • 0 關注
  • 332 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號