Skip to content

1. 包分类

1.1内置包

内置包:由Go语言官方提供,无需下载即可直接使用,比如:fmt、OS、 net、math

  • 查看内置和第三方地址

https://pkg.go.dev/

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

4.自定义包