• 简体中文
  • 创建 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 包。


    [下一步]

    继续本教程的其余部分,如从其他模块调用你的模块、添加错误处理和测试,最后编译并安装你的应用程序。