安裝Go語言及建構Go語言開發環境

go語言安裝Go 語言語法與C 相近,但功能上有:記憶體安全,GC(垃圾回收),結構形態及CSP-style 並發計算。下面簡單介紹一下,go語言安裝及建構Go語言開發環境。

什麼是Go語言

Go語言是電腦程式語言, Go(又稱Golang)是Google 的Robert Griesemer,Rob Pike 及Ken Thompson 開發的一種靜態強型別、編譯型語言。 Go 語言語法與C 相近,但功能上有:記憶體安全,GC(垃圾回收),結構形態及CSP-style 並發計算。

下面簡單介紹一下,安裝Go語言及搭建

Go語言下載位址

Go官網下載網址:https://golang.org/dl/

Go官方鏡像站(建議):https://golang.google.cn/dl/

版本的選擇

Windows平台和Mac平台推薦下載執行檔版,Linux平台下載壓縮檔版。 Go語言更新迭代比較快,建議使用較新版本,體驗最新特性。

-1

安裝

Windows安裝

此安裝實例以 64位Win10系統安裝 Go1.14.1可執行檔版本為例。

將上一步驟選好的安裝包下載到本機。

-2

雙擊下載好的文件,然後按照下圖的步驟安裝即可。

-3-4-5-6-7

Linux下安裝

如果不是要在Linux平台敲go程式碼就不需要在Linux平台安裝Go,我們開發機上寫好的go程式碼只需要跨平台編譯(詳見文章末尾的跨平台編譯)好之後就可以拷貝到Linux伺服器上運行了,這也是go程式跨平台易部署的優勢。

我們在版本選擇頁面選擇並下載好go1.14.1.linux-amd64.tar.gz文件:

wget https://dl.google.com/go/go1.14.1.linux-amd64.tar.gz

將下載好的檔案解壓縮到/usr/local目錄下:

tar -zxvf go1.14.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文件即可生效。 檢查:

~ go version go version go1.14.1 linux/amd64

Mac下安裝

下載可執行檔版,直接點擊下一步安裝即可,預設會將go安裝到/usr/local/go目錄下。-8

檢查

上一步安裝程序執行完畢後,可開啟終端機窗口,輸入go version指令,查看安裝的Go版本。-9

GOROOT和GOPATH

GOROOTGOPATH都是環境變量,其中GOROOT是我們安裝go開發包的路徑,而從Go 1.8版本開始,Go開發包在安裝完成後會為GOPATH設定預設目錄,並且在Go1.14及之後的版本中啟用了Go Module模式之後,不一定要將程式碼寫到GOPATH目錄下,所以也就不需要我們再自己配置GOPATH了,使用預設的即可。

GOPROXY 非常重要

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

預設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開發編輯器

Go採用的是UTF-8編碼的文字檔案存放原始碼,理論上使用任何一款文字編輯器都可以做Go語言開發,這裡推薦使用VS CodeGoland。 VS Code是微軟開源的編輯器,而Goland是jetbrains出品的付費IDE。

我們在這裡使用VS Code 加插件做為go語言的開發工具。

VS Code介紹

VS Code全稱Visual Studio Code,是微軟公司開源的一款免費現代化輕量級程式碼編輯器,支援幾乎所有主流的開發語言的語法高亮、智慧程式碼補全、自訂熱鍵、括號匹配、程式碼片段、程式碼對比Diff、GIT 等特性,支援插件擴展,支援Win、Mac 以及Linux平台。

雖然不如某些IDE功能強大,但它在添加Go擴充插件後已經足夠勝任我們日常的Go開發。

下載與安裝

VS Code官方下載地址:https://code.visualstudio.com/Download

三大主流平台都支持,請根據自己的電腦平台選擇對應的安裝包。-10雙擊下載好的安裝文件,雙擊安裝即可。

配置

安裝中文簡體插件

點選左側選單列最後一項管理擴充,在搜尋框中輸入chinese ,選取結果清單第一項,點選install安裝。

安裝完畢後右下角會提示重啟VS Code,重啟之後你的VS Code就顯示中文啦!-11VSCode主介面介紹:-12

安裝go擴充

現在我們要為我們的VS Code編輯器安裝Go擴充插件,讓它支援Go語言開發。-13

第一個Go程式

Hello World

現在我們來創建第一個Go專案——hello。在我們桌面創建一個hello目錄。

go mod init

使用go module模式新建專案時,我們需要透過go mod init 專案名命令對專案進行初始化,該命令會在專案根目錄下生成go.mod文件。例如,我們使用hello作為我們第一個Go專案的名稱,執行以下命令。

go mod init hello

編寫程式碼

接下來在該目錄中建立一個main.go文件:

package main  // 宣告main 套件,表示目前是一個可執行程式

import "fmt"  // 導入內建fmt 包

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

非常重要! ! ! 如果此時VS Code右下角彈出提示讓你安裝插件,請務必點 install all 進行安裝。

編譯

go build命令表示將原始碼編譯成可執行檔。

在hello目錄下執行:

go build

或在其他目錄執行以下命令:

go build hello

go編譯器會去 GOPATH的src目錄下找你要編譯的hello專案

編譯得到的可執行檔會保存在執行編譯指令的目前目錄下,如果是windows平台會在目前目錄下找到hello.exe可執行檔。

可在終端直接執行該hello.exe文件:

c:\desktop\hello>hello.exe Hello World!

我們也可以使用-o參數來指定編譯後得到的可執行檔的名字。

go build -o heiheihei.exe

Windows下VSCode切換cmd.exe作為預設終端

如果你打開VS Code的終端介面出現如下圖場景(注意觀察紅框圈中部分),那麼你的VS Code此時正使用powershell作為預設終端:-14十分推薦你按照下面的步驟,選擇cmd.exe作為預設的終端工具:-15此時,VS Code正上方中間位置會彈出如下介面,參考下圖挪動滑鼠使遊標選取後綴為cmd.exe的那一個,然後點選滑鼠左鍵。

最後重啟VS Code中已經開啟的終端或者直接重啟VS Code就可以了。-16如果沒有出現下拉三角,也沒有關係,按下Ctrl+Shift+P,VS Code正上方會出現一個框,你會依照下圖輸入shell,然後點選指定選項即可出現上面的介面了。-17

go run

go run main.go也可以執行程序,該命令本質上也是先編譯再執行。

go install

go install表示安裝的意思,它先編譯原始碼得到可執行文件,然後將可執行檔移到GOPATH的bin目錄下。因為我們的環境變數中配置了GOPATH下的bin目錄,所以我們就可以在任意地方直接執行可執行檔了。

跨平台編譯

預設我們go build的可執行檔都是目前作業系統可執行的文件,Go語言支援跨平台編譯-在目前平台(例如Windows)下編譯其他平台(例如Linux)的可執行檔。

Windows編譯Linux執行檔

如果我想在Windows下編譯一個Linux下執行文件,那需要怎麼做呢?只需要在編譯時指定目標作業系統的平台和處理器架構即可。

注意:無論你在Windows電腦上使用VsCode編輯器還是Goland編輯器,都要注意你使用的終端機類型,因為不同的終端機下指令不一樣! ! !目前的Windows通常預設使用的是PowerShell終端。

如果你的Windows使用的是cmd,那麼如下指定環境變數。

SET CGO_ENABLED=0 // 停用CGO SET GOOS=linux // 目標平台是linux SET GOARCH=amd64 // 目標處理器架構是amd64

如果你的Windows使用的是PowerShell終端,那麼設定環境變數的語法為

$ENV:CGO_ENABLED=0
$ENV:GOOS="linux"
$ENV:GOARCH="amd64"

在你的Windows終端機下執行完上述指令後,再執行下面的指令,得到的就是能夠在Linux平台運作的可執行檔了。

go build

Windows編譯Mac執行檔

Windows下編譯Mac平台64位元可執行程式:

cmd終端機下執行:

SET CGO_ENABLED=0 SET GOOS=darwin SET GOARCH=amd64 go build

PowerShell終端機下執行:

$ENV:CGO_ENABLED=0
$ENV:GOOS="darwin"
$ENV:GOARCH="amd64"
go build

Mac編譯Linux執行檔

Mac電腦編譯得到Linux平台64位元可執行程式:

CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build

Mac編譯Windows執行檔

Mac電腦編譯得到Windows平台64位元執行程式:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

Linux編譯Mac可執行檔

Linux平台下編譯Mac平台64位元可執行程式:

CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build

Linux編譯Windows可執行檔

Linux平台下編譯Windows平台64位元可執行程式:

CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build

現在,開啟你的Go語言學習之旅吧。人生苦短,let's Go.

1/5 - (1 vote)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *