[Go]Go 語言基礎拾遺(一)

zhonglang發表於2022-01-18

工作區和 GOPATH

在安裝 Go 過程中需要配置 3 個環境變數:GOROOT、GOPATH 和 GOBIN。

  • GOROOT:Go 語言的安裝根目錄路徑,也就是 Go 語言的安裝路徑。

  • GOPATH:若干工作區目錄的路徑。使我們自己定義的工作空間。

  • GOBIN:Go 程式生成的可執行檔案的路徑。

設定 GOPATH 有什麼意義?

我們可以把 GOPATH 簡單理解成 Go 語言的工作目錄,它的值是一個或者多個目錄路徑,每個目錄路徑都代表著 Go 語言的一個工作區。

Go 語言原始碼的組織方式是怎樣的?

  1. 基本組織單位是程式碼包

  2. 程式碼包的名稱一般與原始碼檔案所在目錄同名。如果不同名,則在構建、安裝的過程中以程式碼包的名稱為準。

  3. 一個程式碼包可以包含任意個以.go 副檔名的原始碼檔案,這些原始碼檔案宣告屬於同一個程式碼包。

  4. 每個程式碼包都有匯入路徑。在工作區,程式碼包匯入路徑,實際是 src 目錄到該程式碼包的相對路徑。

原始碼安裝後,各檔案如何儲存?

  1. 原始碼檔案儲存在 src 子目錄下。

  2. 在安裝後,產生了歸檔檔案(以.a 副檔名的檔案),放進 pkg 子目錄。

  3. 在安裝後,產生了可執行檔案,放進 bin 子目錄。

構建和安裝 GO 程式的過程是怎樣的?

  1. 構建命令 go build

    • 如果構建的是庫原始碼檔案,那麼操作後的結果只會儲存在臨時檔案中。這裡的構建的作用只是檢查和驗證。

    • 如果構建的是命令原始碼檔案,操作的結果檔案會儲存在原始碼檔案所在目錄。

  2. 安裝命令 go install

    • 安裝操作會先執行構建,然後還會進行連結操作,並且把結果檔案搬運到指定目錄。

    • 如果安裝的是庫原始碼檔案,那麼結果檔案會被搬運到它所在工作區的 pkg 目錄下的某個子目錄中。

    • 如果安裝的是命令原始碼檔案,那麼結果檔案會被搬運到它所在工作區的 bin 目錄中,或者環境變數 GOBIN 指向的目錄中。

本作品採用《CC 協議》,轉載必須註明作者和本文連結
堅定地後端開發者

相關文章