Go语言基地
Tutorilas创建模块

创建 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 包。


[下一步]

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

On this page