Tutorilas创建模块
创建 Go 模块
本教程介绍了 Go 模块的基本功能。如果你是 Go 新手,建议先完成 Go 入门 教程,该教程涵盖了 go 命令、Go 模块和基本的 Go 代码执行。
在本教程中,你将创建两个模块:
- 一个 库模块,旨在供其他库或应用程序重用。
- 一个 调用者应用程序模块,使用这个库。
本教程包括七个部分,每部分展示了 Go 模块系统的一个不同方面:
- 创建模块 — 编写一个小的模块,包含其他模块可调用的函数。
- 从其他模块调用你的代码 — 导入并使用你的新模块。
- 返回并处理错误 — 添加基本的错误处理。
- 返回随机问候 — 使用切片(动态数组)。
- 返回多人的问候 — 使用映射进行键/值存储。
- 添加测试 — 利用 Go 的内建单元测试。
- 编译并安装应用程序 — 在本地构建并安装你的应用程序。
先决条件
- 一些编程经验(函数、循环、数组)。
- 一个代码编辑器。流行的选择包括 VS Code(免费)、GoLand(付费)和 Vim(免费)。
- 一个命令终端(适用于 Linux、Mac、PowerShell 或 Windows 上的命令提示符)。
1. 启动一个其他人可以使用的模块
Go 中的模块将相关的包分组到一个单一的依赖单元中。它指定:
- 支持的 Go 版本
- 模块依赖项
随着模块的发展,可以发布更新供其他人使用。
步骤:
-
打开终端并导航到你的主目录:
-
在 Linux/Mac 上:
cd -
在 Windows 上:
cd %HOMEPATH%
-
-
为你的模块创建并进入一个目录:
mkdir greetings cd greetings -
初始化一个新模块。使用模块路径(例如
example.com/greetings),如果你计划发布它,该路径应对应于一个代码库路径:go mod init example.com/greetings这会创建一个包含模块名称和支持的 Go 版本的
go.mod文件。 -
在你的编辑器中,创建一个名为
greetings.go的文件并插入:package greetings import "fmt" // Hello 返回指定人的问候语。 func Hello(name string) string { message := fmt.Sprintf("Hi, %v. Welcome!", name) return message }这定义了一个带有导出
Hello函数的greetings包。
[下一步]
继续本教程的其余部分,如从其他模块调用你的模块、添加错误处理和测试,最后编译并安装你的应用程序。