Golang中的Package和go mod
go语言中的包管理和go.mod文件。
包的介绍和定义,包管理工具go mod,自定义包,init()初始化函数,第三方包。
1 包的介绍和定义
包是源码的集合,是一种代码复用方案。
包分为三种:
- 系统内置:引入后可以直接使用,如fmt,strconv,strings。
- 自定义:自己写的包。
- 第三方:下载到本地才可以使用。如”github.com/shopspring/decimal”。
2 包管理工具go mod
1.11版本之前,需要使用自定义的包时,需要把项目放到GOPATH目录,但是1.11版本之后无需手动配置环境变量,使用go mod管理项目,可以在任何位置新建项目。1.13版本之后可以彻底不要GOPATH了。
1 | 在任意位置新建一个项目,在此目录下使用 |
3 自定义包:定义,导入
1 | 定义:新建一个文件夹PackName,然后在该文件夹下的文件中,声明这个文件属于的包: |
4 init()初始化函数
递归执行init()函数。
1 | main: import packA |
5 第三方包
5.1 找到第三方包
在https://pkg.go.dev找到常用的包。一般是一个GitHub地址。
5.2 安装这个包
第一种方法:go get github.com/….
第二种方法:go mod download
会下载到$GOPATH$/pkg/mod,多个项目会共享缓存的mod。
第三种方法:go mod vendor 将依赖复制到当前项目的vendor下。