前言

對於我們Windows使用者而言,Go提供兩種環境安裝方式(原始碼安裝除外):

1、MSI安裝(MSI檔案是Windows Installer的資料包它實際上是一個數據庫,包含安裝一種產品所需要的資訊和在很多安裝情形下安裝(和解除安裝)程式所需的指令和資料。):程式在安裝過程中會自動配置Go所需要的環境變數。

2、ZIP安裝:需要你手動設定一些環境變數。

Go重要環境變數介紹

Go開發環境依賴於一些作業系統環境變數,你最好在安裝Go之前就設定好這些系統環境變數配置。如果你使用的是Windows的話,你完全不用進行手動設定,Go將被預設安裝在目錄c:/go(當然你也可以修改GOROOT的安裝位置如:D:/Go)下。這裡列舉幾個最為重要的環境變數:

  • GOROOT 是Go在你的電腦上的安裝位置,它的值一般都是 c:/go,當然,你也可以安裝在別的地方。
  • GOPROXY 是控制Go Module下載的來源,有助於確保構建的確定性和安全性(代理的配置可以在goproxy.io這個網站上找到說明)。
  • GOARCH 表示目標機器的處理器架構,它的值可以是 386、amd64 或 arm。
  • GOOS 表示目標機器的作業系統,它的值可以是 darwin、freebsd、linux 或 windows。
  • GOBIN 表示編譯器和連結器的安裝位置,預設是 GOROOT/bin,如果你使用的是Go 1.0.3及以後的版本,一般情況下你可以將它的值設定為空,Go 將會使用前面提到的預設值。
  • GOPATH Go開發包在安裝完成後會為設定一個預設目錄,並且在Go1.14及之後的版本中啟用了Go Module模式之後,不一定非要將程式碼寫到GOPATH目錄下,所以也就不需要我們再自己配置GOPATH了,使用預設的即可。

Go環境下載

Go官網下載地址(需要FQ):

https://golang.org/dl/

Go官方映象站(國內使用者推薦):

https://golang.google.cn/dl/

Go語言中文網下載(國內使用者推薦):

https://studygolang.com/dl

選擇我們對應系統的安裝包下載即可:

Go1.16.5安裝圖解

Go安裝目錄清單

開啟剛才設定的安裝地址:D:\GoGOROOT

Go安裝目錄(GOROOT)的資料夾結構簡單介紹如下所示:

  • /api:每個版本api變更差異
  • /bin:go原始碼包編譯出的編譯器(go)、文件工具(godoc)、格式化工具(gofmt)等
  • /doc:英文版的Go文件
  • /lib:包含專案所引用、依賴的一些庫檔案
  • /misc:包含與支援 Go 編輯器有關的配置檔案以及 cgo 的示例,雜項用途的檔案,例如 Android 平臺的編譯、git 的提交鉤子等
  • /pkg:包含Windows 平臺編譯好的中間檔案
  • /src:包含原始碼構建指令碼和標準庫的包的完整原始碼
  • /test:測試用例存放處

驗證是否安裝配置成功:

win+r: cmd:

go version

或者:

go help

檢視系統中配置的Go環境變數

命令:go env

GOPROXY(重要Go預設下載依賴庫代理修改)

關於GOPROXY

由於國內的網路環境問題,我們可以通過配置GOPROXY避免DNS汙染導致的模組拉取緩慢或失敗的問題,加速你的構建。

檢視本機環境預設GoPROXY配置,並修改為國內可訪問

注意:在Go1.14版本之後,都推薦使用go mod模式來管理依賴環境了,也不再強制我們把程式碼必須寫在GOPATH下面的src目錄了,你可以在你電腦的任意位置編寫Go程式碼。(網上有些教程適用於1.11版本之前。)

由Go環境變數圖可知,本機的預設GoPROXY配置是:GOPROXY=https://proxy.golang.org,direct,由於國內訪問不到https://proxy.golang.org,所以我們需要換一個PROXY,這裡推薦使用https://goproxy.iohttps://goproxy.cn

執行下面的命令修改GOPROXY:

go env -w GOPROXY=https://goproxy.cn,direct

go run命令編譯並執行:

首先建立helloWorld.go檔案:

填寫以下程式碼:

package main //定義一個包,宣告包名為main,表明當前是一個可執行程式(Go通過包來管理明明空間)

import "fmt" //匯入一個外部包fmt

func main() { // main函式,是程式執行的入口函式
fmt.Println("Go Hello World!") //在終端打印出Go Hello World!
}

進入該檔案所在位置開啟命令列:

使用go run命令列執行檔案helloWorld.go