位元詩人 [Golang] 程式設計教學:建置開發環境

Golang開發環境
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

前言

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

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

線上執行 Golang 程式碼

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

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

安裝 Golang

Windows

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

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

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

> choco install golang

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

> choco upgrade golang

macOS

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

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

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

$ brew install go

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

$ brew install go@1.16

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

GNU/Linux

許多主流的 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 並不是官方的 Golang 開發軟體,而是替代性的選擇,有興趣的讀者可以自行下載來玩玩看。

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

Windows

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

macOS

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

GNU/Linux

在 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 程式碼相當方便。像是自動補完程式碼、自動引入所需套件、自動排版程式碼等。

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

確認系統上的 Golang 版本

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

$ go version
go version go1.17.6 darwin/arm64

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

結語

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

關於作者

身為資訊領域碩士,位元詩人 (ByteBard) 認為開發應用程式的目的是為社會帶來價值。如果在這個過程中該軟體能成為永續經營的項目,那就是開發者和使用者雙贏的局面。

位元詩人喜歡用開源技術來解決各式各樣的問題,但必要時對專有技術也不排斥。閒暇之餘,位元詩人將所學寫成文章,放在這個網站上和大家分享。