開放原始碼技術文件網 建置 Go 語言 (Golang) 開發環境

最後修改日期為 MAY 10, 2019

前言

本文假定讀者還沒在系統上安裝 Go 程式開發軟體,說明在不同系統上安裝 Go 程式開發軟體的方式。

有部分 Go 套件是 C 語言或 C++ 的綁定 (binding),這時候實際執行功能的是背後的 C 語言或 C++ 函式庫。若沒有安裝這些綁定指向的函式庫,這些 Go 套件無法發揮實際的功用。一開始不用急著建置這個部分的軟體,有碰到需要的套件時再安裝相關軟體即可。

線上執行 Go 程式碼

如果只是要執行一小段 Go 程式,也沒用到第三方套件,可以到 Go 官方團隊提供的 Go Playground。在這個網站上,可以直接在網頁輸入 Go 程式碼,輸入完程式碼後即可線上執行,不用再安裝其他軟體。

除了官方的線上 Go 語言執行環境外,還有一些第三方的 Go 語言線上環境,像是 glot.io 或是 paiza.io 等。這類線上程式編輯器可執行的程式碼不限於 Go 語言,還可以執行其他語言的程式碼,有需要的讀者可以玩玩看。

在 Windows 安裝 Go 程式開發軟體

一般性的方法是到 Go 語言官方網站下載 Go 開發軟體的安裝程式,按照指示安裝即可。

替代性的方法是先安裝 Chocolatey 後,再透過 Chocolatey 安裝 Go 開發軟體。使用 Chocolatey 的好處是日後要更新 Go 語言的版本時,透過指令即可更新,會比手動安裝來得方便。

使用 Chocolatey 時要開啟具有系統管理員權限的終端機 (CMD 或 PowerShell)。輸入以下指令以安裝 Go 語言:

C:\> choco install golang

日後要更新 Go 語言的版本時,則使用以下指令:

C:\> choco upgrade golang

在 MacOS 安裝 Go 程式開發軟體

MacOS 本質上是類 Unix 系統,但卻沒有內建的套件管理軟體。因此,Go 語言官方網站提供給 MacOS 使用的 PKG 檔,下載後按照指示安裝即可。

不過,MacOS 上已經有成熟的第三方套件管理軟體,像是 Homebrew。透過 Homebrew,可以取得許多開放原始碼的軟體和函式庫;Homebrew 可自動化軟體安裝和管理。

用以下指令可以安裝最新穩定版本的 Go 語言:

$ brew install go

到目前為止,Go 語言的向後相容性做得很好,應該不需要刻意安裝舊版本的 Go 語言。如果有特殊考量,需要安裝舊版本的 Go 語言,可以加上版本後綴。如以下指令:

$ brew install go@1.9

安裝後,需要自行修改 PATH 變數。這樣的設計是為了避免 Go 語言版本衝突。

在 GNU/Linux 安裝 Go 程式開發軟體

許多主流的 GNU/Linux 發行版會把 Go 開發軟體包成套件,透過套件管理軟體即可下載安裝。像是在 Debian 或 Ubuntu 上用 APT 安裝 Go 語言:

$ sudo apt-get install golang

在 Fedora 及新版的 RHEL 中則可用 DNF 安裝 Go 語言:

$ sudo dnf install golang

GNU/Linux 發行版所附帶的 Go 開發軟體通常會舊一點,如果想要用最新穩定版本的 Go 語言,可以到 Go 語言官方網站下載適用於 GNU/Linux 的壓縮包來用。該壓縮包是自給自足的綠色軟體,解壓縮後即可使用,讀者可將其設置在自己喜歡的位置中。

關於 ActiveGo

ActiveGoActiveState 所維護的 Go 語言發行版本。這套 Go 語言版本除了標準函式庫之外,還額外增加許多第三方套件。個人使用 ActiveGo 是免費的,但要把 ActiveGo 用在商業用途上則需購買商業授權。

ActiveGo 並不是官方的 Go 開發軟體,而是替代性的選擇,有興趣的讀者可以自行下載來玩玩看。

確認系統上的 Go 語言版本

在命令列環境輸入 go version 指令可確認目前系統上的 Go 語言版本。以下是筆者在 MacOS 上輸入該指令的結果:

$ go version
go version go1.12.5 darwin/amd64

若未顯示版本號,代表未正確安裝 Go 開發軟體。重新安裝或修改 PATH 變數應該可以解決這個問題。

(選擇性) 在 Windows 建置 C 和 C++ 開發環境

在 Windows 上主流的 C 編譯器有 Visual C++ 和 MinGW (GCC 的 Windows 移植版) 兩種。目前來說,使用由 MinGW 衍生的 MSYS2 是較佳的選擇,因為 MSYS2 除了標準的 C 和 C++ 開發環境外,還內附套件管理軟體,簡化下載及安裝第三方函式庫的任務。

(選擇性) 在 MacOS 建置 C 和 C++ 開發環境

在 MacOS 上預設使用 Clang 做為 C 編譯器。安裝 Command Line Tools for Xcode 即可取得 Clang 和其他類 Unix 系統上的開發工具,不用安裝肥大的 Xcode。由於 MacOS 沒有內建的套件管理軟體,通常會用 Homebrew 來代替。

(選擇性) 在 GNU/Linux 建置 C 和 C++ 開發環境

在 GNU/Linux 上多使用 GCC 做為 C 編譯器。使用系統管理軟體即可安裝 GCC。

在 Debian 或 Ubuntu 上用以下指令安裝 GCC 和相關開發工具:

$ sudo apt-get install build-essential

在 Fedora 或 RHEL 上用以下指令安裝 GCC 和相關開發工具:

$ sudo dnf groupinstall "Development Tools"

至於其他第三方函式庫,在需要時再由套件管理軟體安裝即可。

選擇編輯器

以下是一些常見的 Go 程式碼編輯器:

  • Atom
  • Sublime Text
  • VS Code (Visual Studio Code)
  • Nodepad++ (Windows 限定)
  • GoLand (商業軟體)
  • Vim
  • Emacs

筆者目前主要使用 VS Code。除了使用 VS Code 本身的編輯器,加上 VS Code 的 Go 套件 對於編輯 Go 程式碼相當方便。像是自動補完程式碼、自動引入所需套件、自動排版程式碼等。

選擇編輯器是個人化的事情,只要順手即可,不用跟風。

結語

在本文中,我們介紹如何建置 Go 開發環境,希望讀者都能順利地建置 Go 開發環境。在後續的文章中,我們會實際寫一些簡單的 Go 程式,以熟悉撰寫 Go 程式的流程。

分享本文
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Yahoo
追蹤本站
Facebook Facebook Twitter