1 从 GitHub 安装包
go get -u github.com/ffhelicopter/tmm
其他函数需要引入这个包
import "github.com/ffhelicopter/tmm"
2 导入外部安装包
Go install 是 Go 中自动包安装工具:如需要将包安装到本地它会从远端仓库下载包:检出、编译和安装一气呵成。
- Go install 使用了 GoPATH 变量
- Go install一般生成静态库文件放在$GoPATH/pkg目录下,文件扩展名a。
Go install/build都是用来编译包和其依赖的包。
区别: Go build只对main包有效,在当前目录编译生成一个可执行的二进制文件(依赖包生成的静态库文件放在$GoPATH/pkg)
如果为main包,运行Go build则会在$GoPATH/bin 生成一个可执行的二进制文件。
3 Go程序的执行
程序的初始化和执行都起始于main包。如果main包还导入了其它的包,那么就会在编译时将它们依次导入。有时一个包会被多个包同时导入,那么它只会被导入一次(例如很多包可能都会用到fmt包,但它只会被导入一次,因为没有必要导入多次)。当一个包被导入时,如果该包还导入了其它的包,那么会先将其它包导入进来,然后再对这些包中的包级常量和变量进行初始化,接着执行init函数(如果有的话),依次类推。等所有被导入的包都加载完毕了,就会开始对main包中的包级常量和变量进行初始化,然后执行main包中的init函数(如果存在的话),最后执行main函数。
Go的init函数用于包的初始化
- init用于包的程序的初始化,包括常量等
- 一个包可以有多个init函数
- 每个包的源文件也可以有多个init函数
- init函数不能被其他函数调用,而是在main函数执行之前,自动被调用