安裝完成后需要在系統(tǒng)環(huán)境變量中設(shè)置
GOPATH為項(xiàng)目目錄
GOROOT為安裝目錄
path中設(shè)置好安裝目錄到bin目錄
打開cmd,輸入go env,出現(xiàn)如下配置生效
補(bǔ)充:Golang 環(huán)境變量須知
1.前言
無論你是使用 Windows、Linux 還是 Mac 操作系統(tǒng)來開發(fā) Go 應(yīng)用程序,在安裝好 Go 安裝語言開發(fā)工具之后,都必須配置好 Go 語言開發(fā)所要求的 環(huán)境變量,才算初步完成 Go 開發(fā)環(huán)境的搭建。
但對于一些初學(xué)者來說,可能不太明白 Go 語言中常用的環(huán)境變量的作用以及如何設(shè)置環(huán)境變量,下面在 Windows 環(huán)境下來講講。
2.查看環(huán)境變量
安裝完 Go 后,我們可以使用 go env 命令查看當(dāng)前 Go 的所有默認(rèn)環(huán)境變量。
go env
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\dablelv\AppData\Local\go-build
set GOENV=C:\Users\dablelv\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\go\pkg\mod
set GONOPROXY=git.code.oa.com,git.woa.com
set GONOSUMDB=git.code.oa.com,git.woa.com
set GOOS=windows
set GOPATH=D:\go
set GOPRIVATE=git.code.oa.com,git.woa.com
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\code\kknock\KnockKnock\application\group_srv\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\dablelv\AppData\Local\Temp\go-build853783354=/tmp/go-build -gno-record-gcc-switches
也可以查到指定環(huán)境變量的值。
go env GOROOT
C:\Program Files\Go
Go 語言中可以設(shè)置的環(huán)境變量有很多,每個環(huán)境變量都有其作用,不過很多我們可能都用不到,一般需要了解下面幾個最常用的就夠了。
GOROOT
GOPATH
GO111MODULE
GOPROXY
GOPRIVATE
GOBIN
GOOS
GOARCH
關(guān)于環(huán)境變量的詳細(xì)說明,可使用命令go help environment查詢。
GOROOT
GOROOT 表示 Go 語言的安裝目錄。
GOROOT 的作用是用來索引 Go 語言的安裝目錄下的相關(guān)資源,比如 bin 目錄的工具(如 go 命令),src 目錄下的源碼等。
GOPATH
GOPATH 用于指定我們的開發(fā)工作區(qū),可以有多個。
按照 Go 開發(fā)規(guī)范,GOPATH 目錄下一般分為三個子目錄 src,pkg,bin。
src 目錄存放我們需要開發(fā)的項(xiàng)目源碼,pkg 存放依賴的包和編譯后的靜態(tài)庫文件,bin 放源代碼編譯后臺的可執(zhí)行文件。
下面是一個 GOPATH 目錄示例布局。
GOPATH=/home/user/go
/home/user/go/
src/
foo/
bar/ (go code in package bar)
x.go
quux/ (go code in package main)
y.go
bin/
quux (installed command)
pkg/
linux_amd64/
foo/
bar.a (installed package object)
注意:
(1)如果 GOPATH 未顯示設(shè)置,則默認(rèn)為用戶主目錄中名為 go 的子目錄。Unix 下為$HOME/go,Windows 下為%USERPROFILE%\go(一般為C:\Users\YourName\go),Plan 9 下為$home/go。
(2)使用模塊時,GOPATH 不再用于解析導(dǎo)入,但是它仍然用于存儲下載的源代碼(在GOPATH/pkg/mod中)和編譯的命令(在GOPATH/bin中)。
(3)使用命令go help gopath可查看 GOPATH 詳細(xì)說明。
GO111MODULE
在 go1.11 的時候推出了這個 go modules 來解決依賴管理的問題。
通過變量 GO111MODULE 來控制 Go Module 的開啟和關(guān)閉,取值 off、on 或 auto。
從 Go 1.13 開始,Go Module 作為 Golang 中的標(biāo)準(zhǔn)包管理器。
GOPROXY
go get 下載依賴時使用的代理地址列表,使用逗號 (,) 或豎杠 (|) 分隔。
當(dāng)用 go 命令查找依賴模塊時,它會按順序訪問 GOPROXY 列表中的每個代理,直到收到成功的響應(yīng)或出現(xiàn)終端錯誤。
GOPROXY 中可能會存在兩個關(guān)鍵字來代替代理URL:
off:不允許從任何源下載依賴的模塊
direct: 直接從版本控制存儲庫下載,而不是使用模塊代理
GOPROXY 缺省值為https://proxy.golang.org,direct。
GOPRIVATE
go get 通過代理服務(wù)拉取倉庫時,因?yàn)榇矸?wù)不可能訪問到私有倉庫(一般為企業(yè)內(nèi)部代碼管理平臺),會出現(xiàn) 404 錯誤。
go1.13 版本提供了一個方便的解決方案:GOPRIVATE 環(huán)境變量。
如:
setx GOPRIVATE=gitlab.com,git.woa.com
GOBIN
用于存儲我們使用go install命令安裝的程序。
如果沒有設(shè)置 GOBIN,程序一般會安裝到為GOPATH/bin目錄。
GOOS
當(dāng)前的操作系統(tǒng)。例如 linux、darwin、windows、netbsd、freebsd、openbsd、solaris、plan9 等。
注意 mac os對應(yīng)的值是 darwin。
GOARCH
表示 CPU 架構(gòu)。如 amd64、386、arm、ppc64 等。
3.小結(jié)
環(huán)境變量的設(shè)置,可以影響我們開發(fā)和編譯項(xiàng)目的過程與結(jié)果,所以還是很有必要了解一下的。
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
您可能感興趣的文章:- go語言 全局變量和局部變量實(shí)例
- golang通過反射設(shè)置結(jié)構(gòu)體變量的值
- 詳解Go語言變量作用域
- 關(guān)于Golang變量初始化/類型推斷/短聲明的問題
- 淺談golang并發(fā)操作變量安全的問題
- go語言的初始化順序,包,變量,init詳解
- 解決golang 關(guān)于全局變量的坑