Go 语言中的 Modules 与 Packages
创建一个简单 app
创建目录
1 | mkdir hello |
依赖追踪(dependency tracking)
如果代码需要引入其它模块(module),在 Go 中使用当前项目的 module 来管理。当前的 module 由 go.mod
文件定义。go.mod
包含在代码库中,与代码同在。
要在当前项目中其中依赖追踪,需运行 go mod init
命令。
1 | go mod init andersc.com/hello |
编辑代码
1 | package main |
这里定义了一个 package
,加了若干 import
,并包含了如何函数 main()
。
使用如下命令来修改依赖项,它会检查依赖项的修改,并生成 go.sum
文件,同时下载必要之文件:
1 | go mod tidy |
运行 app
1 | go run . |
以上是最简单的 app,有第三方库的引用,但 app 自身结构及其简单。
创建一个略复杂的 app
Go 程序的代码首先分组为 packages,packages 再分组为 modules。
创建一个可复用的 module
1 | mkdir greetings |
创建并编辑 greetings.go
:
1 | package greetings |
这样,一个简单的 module 和 package 就完成了,并且可被其它 module 引用。
在另一 module 中调用
1 | cd .. |
入口程序:
1 | package main |
由于 greetings
module 在本地,需要修改 go.mod
:
1 | go mod edit -replace=andersc.com/greetings=../greetings |
至此,一个“完整的” app 搭建完毕。