您好,登錄后才能下訂單哦!
本篇內容介紹了“如何理解Go官方工具鏈用法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
為了從任意目錄運行Go官方工具鏈中工具命令(通過go命令), Go官方工具鏈安裝目錄下的bin子目錄路徑必須配置在PATH環境變量中。 當使用安裝程序安裝Go官方工具鏈時,安裝程序很可能已經自動地將此配置好了。windows環境中需要在把安裝目錄下bin子目錄添加到高級系統環境變量中保存生效。
Go官方工具鏈近來的版本都支持一個稱為Go模塊(Go modules)的特性, 用來管理項目依賴。此特性在版本1.11中被試驗性引入, 在版本1.16中被默認支持。
我們應該了解一個環境變量:GOPATH。 此環境變量的默認值為當前用戶的HOME目錄下的名為go文件夾對應的目錄路徑。 GOPATH環境變量可以被手動地配置多個路徑。 以后,當GOPATH文件夾被提及的時候,它表示GOPATH環境變量中的第一個路徑對應的文件夾。
GOPATH文件夾中的pkg子文件夾用來緩存被本地項目所依賴的Go模塊(一個Go模塊為若干Go庫包的集合)的版本。
GOBIN環境變量用來指定go install子命令產生的Go應用程序二進制可執行文件應該存儲在何處。 它的默認值為GOPATH文件夾中的bin子目錄所對應的目錄路徑。
GOBIN路徑需配置在PATH環境變量中,以便從任意目錄運行這些Go應用程序。
Go官方工具鏈工具要求所有的Go源代碼文件必須以.go后綴結尾。這里,我們假設一個最簡單的Go程序放在hello.go
的文件中。下面是最簡單的Go程序。
package main import "fmt" func main() { fmt.Println("hello") }
打開一個終端(控制臺)并進入上述源文件所在的目錄,然后運行$ go run hello.go
如果代碼中有語法錯誤,這些錯誤將輸出在終端中。
如果一個程序的main包中有若干Go源代碼文件,我們可以使用下面的命令運行此程序。$ go run .
注意:
go run子命令并不推薦在正式的大項目中使用。go run子命令只是一種方便的方式來運行簡單的Go程序。 對于正式的項目,最好使用go build或者go install子命令構建可執行程序文件來運行Go程序。
支持Go模塊特性的Go項目的根目錄下需要一個go.mod文件。此文件可以使用go mod init子命令來生成(見下)。
上面提到的三個go子命令(go run
、go build
和go install
) 將只會輸出代碼語法錯誤。它們不會輸出可能的代碼邏輯錯誤(即警告)。 go vet
子命令可以用來檢查可能的代碼邏輯錯誤(即警告)。
我們可以使用go fmt
子命令來用同一種代碼風格格式化Go代碼。
我們可以使用go test
子命令來運行單元和基準測試用例。
我們可以使用go doc
子命令在終端中查看Go代碼庫包的文檔。
強烈推薦讓你的Go項目支持Go模塊特性來簡化依賴管理。對一個支持Go模塊特性的項目:
go mod init example.com/myproject命令可以用來在當前目錄中生成一個go.mod文件。 當前目錄將被視為一個名為example.com/myproject的模塊(即當前項目)的根目錄。 此go.mod文件將被用來記錄當前項目需要的依賴模塊和版本信息。 我們可以手動編輯或者使用go子命令來修改此文件。
go mod tidy命令用來通過掃描當前項目中的所有代碼來添加未被記錄的依賴至go.mod文件或從go.mod文件中刪除不再被使用的依賴。
go get命令用拉添加、升級、降級或者刪除單個依賴。此命令不如go mod tidy命令常用。
從Go官方工具鏈1.16版本開始,我們可以運行go install example.com/program@latest來安裝一個第三方Go程序的最新版本(至GOBIIN目錄)。 在Go官方工具鏈1.16版本之前,對應的命令是go get -u example.com/program(現在已經被廢棄而不再推薦被使用了)。
我們可以運行go help aSubCommand
來查看一個子命令aSubCommand的幫助信息。
運行不帶參數的go
命令將會列出所有支持的go子命令。
“如何理解Go官方工具鏈用法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。