返回部落格

建置與安裝 Go 程式

建置與安裝 Go 程式

Go 是一種靜態型別的程式語言。Go 最初由 Google 設計,在語法上與 C 相似。然而,在功能方面,Go 提供了額外的特性,例如記憶體安全、垃圾回收、結構化類型等。在過去的幾年裡,Go 變得非常受歡迎。

本指南將 透過一個示範的 Go 程式,逐步介紹建置和安裝 Go 程式的步驟。

Go 建置與安裝

在深入探討之前,讓我們快速了解一下在 Go 程式設計中,建置(building)和安裝(installing)代表什麼意思。

在 Go 程式設計中,建置是指將原始碼轉換為二進位執行檔的過程。該執行檔將包含必要的支援程式碼,以便它可以在目標平台上獨立執行。與 Ruby/Python 程式不同,Go 的二進位檔案通常不需要任何系統依賴項即可在新系統上執行。

將 Go 二進位檔案放入系統的執行檔路徑中稱為安裝程式。如前所述,本指南將示範一個簡單的 Go 「Hello world」程式的執行、建置和安裝。

先決條件

在開始之前,讓我們來看看您需要滿足哪些先決條件才能進行本教學:

首先,我們將快速瀏覽安裝和設定 Go 程式設計環境。如需更深入的逐步 Go 安裝指南,請點擊此處.

安裝 Go

Go 適用於所有主要平台(Windows、Linux 和 macOS)。官方可直接從 Golang 取得。由於該網站的名稱,Go 通常被稱為 Golang。在這裡,我們將一律把 Go 程式語言稱為 Go,並將 Golang 網站稱為 Golang。

Golang 提供了關於 所有支援平台的 Go 安裝 的詳細文件。然而,官方方法描述的是手動安裝。每次發布新版本時,您都必須手動將安裝更新到最新版本。相反地,我們可以直接使用 APT(從預設的 Ubuntu 套件庫)或 snap(從 Snapcraft).

●     使用 APT 安裝 Go

Go 可以直接從官方 Ubuntu 套件庫中取得。然而,它並不總是最新版本的 Go。Ubuntu 套件庫中也提供了兩種版本的 Go: golang-gogccgo-go。雖然 golang-go 是來自 Golang 的官方版本,而 gccgo-go 則是 GCC 的 Go 前端(作為 GNU 編譯器的一部分)。通常, golang-go 是首選。

要安裝 golang-go,請執行以下 APT 指令:

Go Programs apt update and go install

檢查 Go 版本:

go version
●     使用 snap 安裝 Go

Snap 是通用的 Linux 套件,可以安裝在任何支援的發行版上。Snapcraft 列出了所有 支援的發行版及其安裝指南。在 Ubuntu 上,預設已啟用 snap 支援。Go 也可以作為 snap 取得。您需要記住,它並非由 Golang 官方維護。該 snap 套件是由第三方提供者管理的。

要安裝 Go snap,請執行以下指令:

snap install go

然後,檢查 Go 版本:

snap go version

設定 Go 專案

我們的系統已具備開始使用 Go 開發應用程式所需的所有工具。是時候建立我們的示範專案了。首先,為我們的專案建立一個專用目錄:

mkdir demo_project

接下來,將目前目錄切換到新建立的目錄:

cd demo_project

在此處,建立一個名為 main.go:

以下程式碼包含一個簡單的程式,執行時會列印出「Hello world」。請複製此程式碼:

Go Programs nano main_go

儲存檔案並關閉編輯器。驗證程式碼是否正常運作:

run main_go

Go 編譯器將來源檔案建置為二進位檔案並執行它。它還會驗證程式是否成功運作。

Go 工作區設定

為了正確安裝 Go 程式,我們需要設定 Go 工作區和 GOPATH。

首先,建立目錄結構:

mkdir bin src

接下來,我們需要宣告 GOPATH 的值,並將其新增至 PATH。開啟 bashrc 檔案:

Go Programs nano bashrc

在檔案末尾新增以下幾行:

Go Programs nano bashrc modified

重新載入 bashrc:

驗證變更是否成功:

path variable

建置 Go 二進位檔案

本節將示範如何將 Go 程式碼編譯為可發行的獨立二進位檔案。該二進位檔案不僅包含 Go 程式碼,還包含執行該二進位檔案所需的其他系統程式碼。若要編譯我們的程式碼,請執行以下命令:

build main_go

如果有多個 Go 程式碼檔案,請使用以下命令:

如果未指定檔案,Go 將在目前目錄中搜尋 Go 檔案並編譯所有檔案。每個二進位檔案都以其來源 Go 檔案命名。在此範例中,Go 建置了程式 main。執行該程式:

run main binary

此程式已準備好發行到其他電腦。

●     變更二進位檔案名稱

每當建置時,Go 都會自動為執行檔選擇一個名稱。在選擇名稱時,有兩種可能的選項。

  • 如果 Go 模組 ,則執行檔將使用模組名稱的最後一部分。
  • 如果未使用 Go 模組,則 Go 將使用目前目錄的名稱或來源檔案的名稱。

處理更複雜的程式需要不同的命名慣例。在這種情況下,這些預設的命名方法並不是很有用。在這種情況下,最好的方法是使用旗標 -o 來自訂輸出。讓我們進行快速示範。使用旗標 -o 以指定不同的檔案名稱:

build binary with different name

The -o 旗標會告訴 Go 將輸出與指定的引數進行比對。在這種情況下,執行檔將位於目錄 bin 且命名為 hello.

接下來,測試新的執行檔:

bin hello_go

安裝 Go 程式

到目前為止,我們已經示範了如何從來源檔案建置可發行的 Go 二進位檔案。我們可以將它們發行到其他系統、進行部署和測試。然而,它們無法在來源目錄之外執行。如果您打算積極使用該程式,那麼這個限制可能會非常令人困擾。為了讓事情變得更容易,我們可以安裝 Go 程式,並從系統中的任何位置存取它們。

若要安裝程式,請在來源目錄中執行以下 Go 命令:

go install

此命令的運作方式與 go build 相同。然而,它不會將執行檔留在來源目錄中,而是放置在以下目錄中:

變數 GOPATHGOBIN 會告訴 Go 在哪裡尋找 Go 工作區。 GOPATH 預設為位置 $HOME/go。我們手動將 GOBIN 設定為 $GOPATH/bin。若要檢查 GOPATHGOBIN 的位置,請使用以下命令:

go env path

檢查 $GOPATH/bin 的內容。我們的程式應該在那裡:

ls go path

是時候驗證安裝是否成功了。將目前目錄切換到其他位置,並嘗試執行 Go 程式:

Go Programs check installation by running binary

最後,您應該能夠將您的程式安裝到系統中。如此一來,您就可以隨時隨地使用它們。

結語

在本教學中,我們成功演示了如何使用 Go 工具鏈從原始碼建置可執行的二進位檔案。即使在沒有任何 Go 設定的其他系統上,也可以使用這些二進位檔案。最後,我們演示了如何安裝 Go 程式,使其在系統中的任何地方都可以使用。

對於開發人員,CloudSigma 提供 Go API 支援 來管理您的雲端伺服器。它允許編輯資源和擴充基礎架構。

祝您運算愉快!

author

Pranay Kapgate

作者 · CloudSigma

Preslav Dobrev 是 CloudSigma 的創意設計師,專注於透過傳統與創新行銷渠道建立一致的企業形象。他擅長將藝術願景與策略行銷相融合,創造具有影響力的品牌敘事。

留言

目前尚無留言。成為第一個留言的人吧。