Golang環(huán)境變量設置和查看工具go env詳解
go env 作用
go env 是 Go 工具鏈中的一個命令,用于設置和查看當前 Golang 環(huán)境的相關信息,對于理解、編譯和運行 Golang 程序非常有用。
go 提供的命令及 go 程序的編譯運行都會使用到環(huán)境變量,如果未設置對應的環(huán)境變量,go 則會使用其默認設置。默認情況下,env 以 shell 腳本(在Windows上是批處理文件)的形式打印環(huán)境變量。如果查看指定的一個或多個變量,每個變量的值會占用一行。
go env 常用的參數(shù)說明:
- -json:以 json 格式打印環(huán)境變量。
- -u:后面需要跟上一個或多個參數(shù)值,如果使用'go env -w'設置了指定環(huán)境變量的值,則取消對應的值設置。
- -w:后面需要跟上一個或多個形式為 NAME=VALUE 的參數(shù),并將指定環(huán)境變量的默認設置更改為給定值。
go env 使用方法和使用示例
列出 go 環(huán)境變量
go env
會輸出如下內(nèi)容,由于內(nèi)容太多,只列出幾個,其他使用省略號代替:
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/luduoxin/Library/Caches/go-build"
...
以 json 格式列出環(huán)境變量:
go env -json
會輸出如下內(nèi)容,由于內(nèi)容太多,只列出部分,其他使用省略號代替:
{
"AR": "ar",
"CC": "clang",
"CGO_CFLAGS": "-g -O2",
...
}
查看看某個或者某幾個 go 環(huán)境變量:
$ go env GOPATH /Users/luduoxin/go $ go env GOPATH GOROOT /Users/luduoxin/go /usr/local/opt/go/libexec
更改某個或者某幾個 go 環(huán)境變量:
$ go env GOPATH=/Users/ning/go $ go env GOPATH=/Users/ning/go GOROOT=/usr/local/go/libexec
如果對應的環(huán)境變量已經(jīng)在操作系統(tǒng)環(huán)境變量配置文件中配置過,使用go env -w 方式修改是無效的,會報出如下錯誤:
warning: go env -w GOPATH=... does not override conflicting OS environment variable
go 環(huán)境變量及作用
接下來看一下通用環(huán)境變量:
- GO111MODULE:用來控制使用 go mod 模式還是 GOPATH 模式,值為 off, on 或 auto。
- GCCGO:gccgo 命令運行'go build -compiler=gccgo'。
- GOARCH:當前架構,例如 amd64, 386, arm, ppc64等。
- GOBIN:Go 命令的默認二進制目錄,即'go install'將安裝命令的目錄。
- GOCACHE:Go 命令的緩存目錄。
- GOMODCACHE:go命令將存儲下載模塊的目錄。
- GODEBUG:啟用各種調試工具,參見'go doc runtime'。
- GOENV:Go 環(huán)境變量配置文件的位置。
- GOFLAGS:Go 命令的標志位參數(shù)。
- GOINSECURE:用于指定哪些域名下的倉庫不校驗CA證書。
- GOOS:當前操作系統(tǒng),例如 linux,darwin,windows,netbsd 等。
- GOPATH:Go 項目的根目錄。
- GOPROXY:Go module 代理的 URL。
- GOROOT:Golang 安裝的根目錄。
- GOSUMDB:要使用的校驗數(shù)據(jù)庫的名稱以及可選的公鑰和URL
- GOTMPDIR:go 命令寫入的目錄,臨時的源文件、包和二進制文件。
- GOVCS:列出可能與匹配服務器一起使用的版本控制命令。
- GOWORK:workspace 設置。
除了通用環(huán)境變量,還有使用 cgo 相關的環(huán)境變量、特定系統(tǒng)架構的環(huán)境變量、專用環(huán)境變量和只能通過 go env 讀取的環(huán)境變量,這些本文就不做具體講解了,詳細信息可以通過 go help environment 命令查看。
到此這篇關于Golang環(huán)境變量設置和查看工具go env詳解的文章就介紹到這了,更多相關Go工具鏈go env內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Go結構體SliceHeader及StringHeader作用詳解
這篇文章主要為大家介紹了Go結構體SliceHeader及StringHeader作用的功能及面試官愛問的實際意義詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-07-07基于Golang實現(xiàn)Redis協(xié)議解析器
這篇文章主要為大家詳細介紹了如何通過GO語言編寫簡單的Redis協(xié)議解析器,文中的示例代碼講解詳細,對我們深入了解Go語言有一定的幫助,需要的可以參考一下2023-03-03