9.0 什么是包(package)?
假设你有目录 mydir/
其下有文件 a.go:
package my_pak
var s1 string
func f1(){}
文件 b.go
package my_pak
var (
k int
)
func f2(){}
则这两个文件中定义的 s1, f1, k, f2
这些名称构成的整体,称为包。上面的过程正是定义包的过程。
9.1 标准库
Go 语言标准库文档中文版 | Go 语言中文网 | Golang 中文社区 | Golang 中国 (studygolang.com)
9.2 引入别人的包
相对引入:
import "./pack1"
路径引入:
import "github.com/org1/pack1”
忽略包名访问的引入:
import . "./pack1"
当使用 .
来做为包的别名时,你可以不通过包名来使用其中的项目。例如:test := ReturnStr ()
。
9.3 godoc
godoc -http=:6060 -goroot="."
9.4 模块
模块就是一系列包的合集。比如你用 go mod init github.com/username/projectname
创建了名为 github.com/username/projectname
的模块。在文件夹下还定义了各种包,则模块就是这一些包构成的整体。