1. 包分类
1.1内置包
内置包:由Go语言官方提供,无需下载即可直接使用,比如:fmt、OS、 net、math
- 查看内置和第三方地址
1.2第三方包
由其他开发者或组织提供的包,需要安装后才能使用,比如: gin、beego、gorm等
2.使用包
包可以区分命令空间(一个文件中不能有两个同名文件), 也可以更好的管理项目。go中创建一个包,一般是创建一个文件夹,在该文件夹里面的go文件中,使用package关键字声明包名称,通常,文件夹名称相同。并且,同一个文件夹下面只有一个包
2.1创建包
1.创建一个名为dao的文件夹
2.创建一个dao.go文件
3.在该文件中声明包。
go
package dao
import "fmt"
//code
package dao
import "fmt"
//code
2.2导入包
要使用某个包下面的变量或者方法,需要导入该包,导入包时,要导入从GOPATH
开始的路径,列如,在service.go
中导入dao包
go
package main
import "dao"
func main(){
dao.Test()
}
package main
import "dao"
func main(){
dao.Test()
}
包注意事项
函数名字大写Ftestfunc(),可以其他目录调用
2.3别名
import m "math"
import m "math"
2.4特殊包
#执行init函数
import _ "包名" #不用这个包
#执行init函数
import _ "包名" #不用这个包
3.包管理工具
2.1 go module简介
go module是golang1.11新加的特性,用来管理模块中包的依赖关系
2.2 开启go mod
2.3 go mod使用方法
- 初始化模块
go mod init <项目模块名称>
go mod init <项目模块名称>
- 依赖关系处理,根据go.mod文件
go mod vendor
//如果包被屏蔽(墙),可以使用这个命令,随后使用go build -mod=vendor 编译
go mod vendor
//如果包被屏蔽(墙),可以使用这个命令,随后使用go build -mod=vendor 编译
- 显示依赖关系
go list -m all
go list -m all
- 显示详细依赖关系
go list -m -json all
go list -m -json all
- 下载依赖关系
go mod download
go mod download