golang開發環境配置


下載安裝

https://golang.org/dl/ 下載最新的安裝包。

  • windows直接執行exe,按指示進行安裝(默認安裝目錄是:C:\Go)
  • linxu解壓后復制到你喜歡目錄就行(一般放在:/usr/local/go)

配置環境變量

首先,應在全局環境變量里增加:GOROOT,指定golang的安裝位置。並將安裝目錄下的bin添加到PATH中,其中將bin添加到PATH是為了能夠在其他目錄直接使用go命令:

export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin

應該在用戶的配置中,添加GOPATH指定項目目錄(假設項目在/home/goProject)。項目目錄中應包含binsrcpkg三個目錄。

並同時設置GOBIN,以及將GOAPATH下的bin也加入PATH中。GOBIN將指定你通過go install安裝的包的路徑(其默認是第一個GOPATHbin目錄),而將GOAPATH下的bin也加入PATH中,是為了能夠方便地使用安裝好的各種工具。

export GOPATH=/home/goProject
export PATH=$PATH:$GOPATH/bin

但需要注意的是,GOROOTGOPATH不能是同一個目錄。

安裝第三方包

在線安裝

使用go get命令指定第三方包的全路徑即可安裝。但此命令依賴git,需要你先安裝git客戶端才能使用。

go get -u github.com/jinzhu/gorm

更詳細的操作可以通過 go help get 命令看到。

離線安裝

golang的包都通過git直接發布源碼,所以我們可以直接下載源碼通過go install安裝。此舉能解決大部分因網絡原因,無法使用go get安裝的情況。

gorm,其安裝命令為:

go get -u github.com/jinzhu/gorm

我們可以直接在 https://github.com/jinzhu/gorm找到其項目。

然后下載它。當然可以通過各種手段下載。

我們需要在我們設置的第一個GOPATH目錄中的src目錄下建立github.com/jinzhu/gorm目錄,目錄結構與安裝命令中的全路徑相同。把下載好的源碼,解壓到這個目錄里即可。

如果,安裝的庫還提供命令行命令操作,那么可以直接進源碼目錄執行:

go install

即可完成編譯安裝等操作。

交叉編譯

編譯操作需要執行:

go build xxx.go

環境變量設置

交叉編譯則需先設置環境變量,主要設置下述三個

  1. CGO_ENABLED
  2. GOOS
  3. GOARCH

其中CGO_ENABLED表示啟用cgo,我嘗試的過程中,交叉編譯不支持cgo,所以要將CGO_ENABLED設置為0

GOOS表示目標操作系統,可取下述值:

  • windows
  • darwin
  • linux
  • freebsd

GOARCH表示目標平台,可取下述值:

  • amd64
  • 386
  • arm

示例

在windows平台進行編譯,目標系統為linux,目標平台是x64:

SET CGO_ENABLED=0
SET GOOS=linux
SET GOARCH=amd64
go build main.go

在linxu平台進行編譯,目標系統為windows,目標平台是x86:

export CGO_ENABLED=0
export GOOS=windows
export GOARCH=386
go build main.go

其他平台、系統,自行替換其中環境變量的值即可。

IDE配置

我使用的編輯工具是vscode,安裝go語言插件后,可以實現自動代碼格式化,自動進行靜態代碼檢查。

在安裝go插件的過程中,會有幾個包因為各種原因安裝不上。此時我們實用go get命令是無論如何也搞不定的。我么可以選擇直接通過源碼安裝。

實際上,golang的github庫中,已經放好了golang開發所需的包,在https://github.com/golang/tools。我們使用git clone將此項目clone到$GOPATH/src/golang.org/x/tools/目錄下,然后我們缺什么包,就直接進入其目錄執行go install,就能直接安裝上。

示例

gocode包安裝的時候,需要gcexportdata,我們就可以tools/go/gcexportdata目錄下直接執行go install安裝它。


原文發布於:https://www.moonlightwatch.me/ -> golang開發環境配置備忘


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM