• English
  • 建立 Go 模組

    本教學介紹了 Go 模組的基本功能。如果你是 Go 新手,建議先完成 Go 入門 教學,該教學涵蓋了 go 命令、Go 模組和基本的 Go 程式碼執行。

    在本教學中,你將建立兩個模組:

    1. 一個 函式庫模組,旨在供其他函式庫或應用程式重用。
    2. 一個 呼叫者應用程式模組,使用這個函式庫。

    本教學包括七個部分,每部分展示了 Go 模組系統的一個不同面向:

    1. 建立模組 — 撰寫一個小的模組,包含其他模組可呼叫的函數。
    2. 從其他模組呼叫你的程式碼 — 匯入並使用你的新模組。
    3. 返回並處理錯誤 — 加入基本的錯誤處理。
    4. 返回隨機問候 — 使用切片(動態陣列)。
    5. 返回多人的問候 — 使用映射進行鍵/值儲存。
    6. 加入測試 — 利用 Go 的內建單元測試。
    7. 編譯並安裝應用程式 — 在本地建構並安裝你的應用程式。

    先決條件

    • 一些程式設計經驗(函數、循環、陣列)。
    • 一個程式碼編輯器。流行的選擇包括 VS Code(免費)、GoLand(付費)和 Vim(免費)。
    • 一個命令終端(適用於 Linux、Mac、PowerShell 或 Windows 上的命令提示符)。

    1. 啟動一個其他人可以使用的模組

    Go 中的模組將相關的套件分組到一個單一的依賴單元中。它指定:

    • 支援的 Go 版本
    • 模組依賴項

    隨著模組的發展,可以發布更新供其他人使用。

    步驟:

    1. 開啟終端機並導航到你的主目錄:

      • 在 Linux/Mac 上:

        cd
      • 在 Windows 上:

        cd %HOMEPATH%
    2. 為你的模組建立並進入一個目錄:

      mkdir greetings
      cd greetings
    3. 初始化一個新模組。使用模組路徑(例如 example.com/greetings),如果你計劃發布它,該路徑應對應於一個程式碼庫路徑:

      go mod init example.com/greetings

      這會建立一個包含模組名稱和支援的 Go 版本的 go.mod 檔案。

    4. 在你的編輯器中,建立一個名為 greetings.go 的檔案並插入:

      package greetings
      
      import "fmt"
      
      // Hello 返回指定人的問候語。
      func Hello(name string) string {
          message := fmt.Sprintf("Hi, %v. Welcome!", name)
          return message
      }

      這定義了一個帶有匯出 Hello 函數的 greetings 套件。


    [下一步]

    繼續本教學的其餘部分,如從其他模組呼叫你的模組、加入錯誤處理和測試,最後編譯並安裝你的應用程式。