Go 語言開發環境搭建
Go 語言開發環境搭建
Go 語言開發環境搭建
一. GO 環境安裝
1.1 下載
Go鏡像站(推薦):https://golang.google.cn/dl/
1.2 Go 版本的選擇
默認下載最新自己對應的平臺即可。
1.3 安裝
1.3.1 Windows安裝
打開下載的安裝程序(.msi文件),然后按照安裝向導中的說明進行安裝
1.3.2 Linux下安裝
wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz
將下載好的文件解壓到/usr/local目錄下:
tar -zxvf go1.21.1.linux-amd64.tar.gz -C /usr/local # 解壓
如果提示沒有權限,加上sudo以root用戶的身份再運行。執行完就可以在/usr/local/下看到go目錄了。
配置環境變量,Linux下有兩個文件可以配置環境變量,
- 其中
/etc/profile是對所有用戶生效的; $HOME/.profile是對當前用戶生效的,根據自己的情況自行選擇一個文件打開,添加如下兩行代碼,保存退出。
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
修改/etc/profile后要重啟生效,修改$HOME/.profile后使用source命令加載$HOME/.profile文件即可生效。
1.3.2 Mac下安裝
打開下載的安裝程序(.pkg文件),然后按照安裝向導中的說明進行安裝,默認會將go安裝到/usr/local/go目錄下。
1.4 驗證Go安裝
驗證Go安裝: 打開終端(Terminal)應用程序,并運行以下命令來驗證Go是否正確安裝:
go version
二. Go 語言環境變量
2,1 查看Go 環境變量
打開終端(Terminal)應用程序,并運行以下命令來查看Go 環境變量:
go env
終端會返回如下命令:
GO111MODULE='on'
GOARCH='amd64'
GOBIN=''
GOCACHE='/Users/thinkook/Library/Caches/go-build'
GOENV='/Users/thinkook/Library/Application Support/go/env'
GOEXE=''
GOEXPERIMENT=''
GOFLAGS=''
GOHOSTARCH='amd64'
GOHOSTOS='darwin'
GOINSECURE=''
GOMODCACHE='/Users/thinkook/go/pkg/mod'
GONOPROXY=''
GONOSUMDB=''
GOOS='darwin'
GOPATH='/Users/thinkook/go'
GOPRIVATE=''
GOPROXY='https://goproxy.cn,direct'
GOROOT='/usr/local/Cellar/go/1.21.1/libexec'
GOSUMDB='sum.golang.org'
GOTMPDIR=''
GOTOOLCHAIN='auto'
GOTOOLDIR='/usr/local/Cellar/go/1.21.1/libexec/pkg/tool/darwin_amd64'
GOVCS=''
GOVERSION='go1.21.1'
GCCGO='gccgo'
GOAMD64='v1'
AR='ar'
CC='cc'
CXX='c++'
CGO_ENABLED='1'
GOMOD='/dev/null'
GOWORK=''
CGO_CFLAGS='-O2 -g'
CGO_CPPFLAGS=''
CGO_CXXFLAGS='-O2 -g'
CGO_FFLAGS='-O2 -g'
CGO_LDFLAGS='-O2 -g'
PKG_CONFIG='pkg-config'
GOGCCFLAGS='-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -ffile-prefix-map=/var/folders/fs/wzn8gx9n3cq_gqvy502mn17r0000gn/T/go-build3919122639=/tmp/go-build -gno-record-gcc-switches -fno-common'
2.2 常用Go 配置項
| 環境變量 | 作用 | 默認值 |
|---|---|---|
| GOARCH | 用于指示Go編譯器生成代碼所針對的平臺CPU架構 | 本機的CPU架構(例如,AMD64、Arm等) |
| GOOS | 用于指示Go編譯器生成代碼所針對的操作系統 | 本機的操作系統(例如,Linux、Darwin、Windows等) |
| GO111MODULE | 它的值決定了當前使用的構建模式是傳統的GOPATH模式還是新引入的Go Module模式 | Go 1.16版本后,默認為"on",開啟Go Module構建模式 |
| GOCACHE | 用于指示存儲構建結果緩存的路徑,這些緩存可能會被后續的構建所使用 | 不同操作系統上有不同的默認值。在Linux上默認值為 "$HOME/.cache/go-build" |
| GOMODCACHE | 用于指示存放Go Module的路徑 | 不同操作系統上有不同的默認值。在Linux上默認值為 "$HOME/go/pkg/mod" |
| GOPROXY | 用來配置Go Module proxy服務 | 默認值為 "https://proxy.golang.org,direct"。在中國大陸地區通常設置為 "https://goproxy.cn,direct" 以加速下載速度 |
| GOPRIVATE | 指向自己的私有庫,比如說自己公司的私有庫 | 無(默認值由用戶配置) |
| GOPATH | 在傳統的GOPATH構建模式下,用于指示Go包搜索路徑的環境變量,在Go module機制啟用之前是Go核心配置項。Go 1.8版本之前需要手工配置,Go 1.8版本引入了默認的GOPATH($HOME/go)。在Go Module模式正式上位后,可能會被移除 | 無(默認值由用戶配置) |
| GOROOT | 指示Go安裝路徑。Go 1.10版本引入了默認GOROOT,開發者無需顯式設置,Go程序會自動根據自己所在路徑推導出GOROOT的路徑 | 無(由Go安裝程序設置) |
2.3 GOPATH
- src:存放源代碼:在GOPATH中的
src目錄用于存放你的Go項目的源代碼文件。每個Go項目都應該有自己的目錄,通常按照導入路徑的結構來組織。例如,如果你的項目的導入路徑是github.com/yourusername/yourproject,那么你的項目應該位于$GOPATH/src/github.com/yourusername/yourproject。 - pkg:存放依賴包:
pkg目錄用于存放已經編譯好的Go包,這些包是你的項目依賴的其他包。這些包通常是由Go編譯器自動構建并存儲在pkg目錄中,以便提高構建速度。 - bin:存放可執行文件:
bin目錄用于存放通過go install命令構建的可執行文件。當你使用go install安裝一個Go程序時,可執行文件將被放置在$GOPATH/bin目錄下,可以直接運行。
2.4 GOROOT
- go的安裝目錄:GOROOT是指示Go語言安裝目錄的環境變量。它告訴Go編譯器在哪里找到標準庫以及其他與Go相關的工具和資源。GOROOT的默認值由Go安裝程序設置,通常位于系統的特定目錄中,例如
/usr/local/go或C:\Go。開發者不需要手動設置GOROOT,Go會自動識別它。
2.5 GOPROXY
2.5.1 介紹說明:
- 用來配置Go Module proxy服務:GOPROXY是一個環境變量,用于指定用于下載Go Module的代理服務。默認值為"https://proxy.golang.org,direct",它允許直接從官方代理下載Go Module。
- 在中國大陸等地區,由于網絡限制,通常會將GOPROXY設置為本地的Go Module代理服務,例如"https://goproxy.cn,direct",以加速下載速度和提高可靠性。設置合適的GOPROXY可以改善Go Module的下載體驗。
2.5.2 設置代理
對于Go版本1.13及以上:
go env -w GO111MODULE=on
go env -w GOPROXY=https://proxy.golang.com.cn/,direct
“direct” 是一個特殊指示符,用于指示Go在需要時回源到模塊版本的源地址(例如GitHub等)。如果在GOPROXY值列表中的前一個Go模塊代理返回404或410錯誤,Go會自動嘗試列表中的下一個代理,遇到 “direct” 時會回源,遇到EOF時會終止并拋出類似“invalid version: unknown revision…”的錯誤。
對于其他版本,可以使用以下方式設置代理:
export GO111MODULE=on
export GOPROXY=https://proxy.golang.com.cn/
2.5.3 常用 GO 代理
以下是一些常用的Go Module代理服務的地址:
| 提供者 | 地址 |
|---|---|
| 官方全球代理 | https://proxy.golang.com.cn |
| 官方 | https://goproxy.io,direct |
| 七牛云 | https://goproxy.cn |
| 阿里云 | https://mirrors.aliyun.com/goproxy/ |
| GoCenter | https://gocenter.io |
| 百度 | https://goproxy.bj.bcebos.com/ |
這些代理服務可以幫助加速Go Module的下載,特別是在網絡受限的情況下。您可以根據自己的需求選擇合適的代理服務,并將GOPROXY設置為相應的地址。
三. 常用的IDE 設置
3.1 VsCode
特點:免費開源,強大的社區支持,擴展豐富,支持多種編程語言,包括Go。
官網地址:https://code.visualstudio.com/download
Go相關擴展:在VsCode中使用Go開發,你可以安裝以下一些常用的Go相關擴展來增強開發體驗:
- Go - 微軟官方的Go擴展,提供自動補全、格式化、重構等語言特性。
- gopls - 另一個語言服務器,提供智能提示、代碼跳轉、診斷等。有些人會覺得它比默認的Go擴展更好。
- Go Test Explorer - 在VS Code內運行測試并在側邊欄顯示結果。
- Go Modules - 支持Go modules,如導入語句的模塊路徑自動補全。
- gocode-gomod - 使用Go Modules時自動補全模塊。
- dlv-dap - 提供調試Delve調試器的配置。
- gotests - 自動為你的代碼生成測試文件。
- guru - 集成guru工具,提供引用、定義等顯示。
- goreturns - 添加快捷鍵運行goreturns來格式化和組織導入語句。
3.2 Goland
特點:Goland是JetBrains公司開發的商業IDE,專門用于Go語言開發。它提供了豐富的功能和工具,使Go開發更加高效和愉快。
官網:https://www.jetbrains.com/go/
Go相關功能:Goland針對Go開發提供了許多功能,包括:
- 智能代碼補全:Goland具有高度智能的代碼補全功能,可以準確地預測你要輸入的代碼,提高編碼速度。
- 深度集成:Goland深度集成了Go工具鏈,包括調試器、測試工具、代碼導航等,使開發流程更加順暢。
- 代碼重構:Goland支持各種代碼重構操作,可以幫助你改進代碼質量和結構。
- 實時錯誤檢查:Goland會在你編寫代碼時實時檢查錯誤和代碼質量問題,并提供即時反饋。
- 版本控制:集成了常見的版本控制工具,如Git,方便團隊協作和版本管理。
配置:
打開后點擊新建項目:
選擇一個項目路徑,和Go編譯器創建項目
繼續打開settings 設置Go Module 和 GOPROXY
Environment正確填寫內容:GOPROXY=https://goproxy.cn,direct
這些是常用的Go開發IDE中的兩個主要選擇。你可以根據自己的需求和偏好選擇其中一個,它們都提供了強大的工具和功能來支持Go開發。
、*************************************************、
安裝后版本一直是1.18.1



浙公網安備 33010602011771號