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 的模块。在文件夹下还定义了各种包,则模块就是这一些包构成的整体。