Golang 程式設計:建置 Go 語言開發環境

【分享本文】
Facebook Twitter LinkedIn LINE Skype EverNote GMail Yahoo Email

    前言

    本文假定讀者還沒在系統上安裝 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 Email
    【追蹤新文章】
    Facebook Twitter Plurk