当前位置: 首页> 财经> 股票 > Golang 教程3——包

Golang 教程3——包

时间:2025/8/9 20:25:21来源:https://blog.csdn.net/weixin_41835324/article/details/141780628 浏览次数:0次

Golang 教程3——包

注意,该文档只适合有编程基础的同学,这里的go教程只给出有区别的知识点

文件结构
在这里插入图片描述

前置工作

在文件testproject01目录下执行 ‘go mod init gocode/testproject01’

(base) PS E:\Goproject\src\gocode\testproject01> go mod init gocode/testproject01
go: creating new go.mod: module gocode/testproject01
go: to add module requirements and sums:go mod tidy
1、 如何导入其他包的函数(我们不可能把所有的函数都放在同一个包中,可以分门别类的把函数放在不同的源文件中)
1.1 main文件下
package main //1、 包的声明, 建议:包的声明建议和这个包所在的文件夹同名
//2、main包是程序的入口包, 一般main函数会放在这个包下//3、 包名是从$GOPATH/src/开始算起,使用/进行分割
import	(//step1: 导包, 导入的是所在的文件夹的路径"gocode/testproject01/db"
)func main (){//2、调用db.ConnectDB()
}
1.2 dbutil文件下
package dbimport "fmt"// 连接数据库的函数, 注意: 如果该函数想被其他包访问到,则函数名首字母得大写	
func ConnectDB() {fmt.Println("success to connect db")
}

1.3 执行结果

(base) PS E:\Goproject\src\gocode\testproject01> go run ./main/main.go
success to connect db
2、 包的名字与文件夹的名字可以不同

文件结构

在这里插入图片描述

2.1 mian文件
package main //1、 包的声明, 建议:包的声明建议和这个包所在的文件夹同名
//2、main包是程序的入口包, 一般main函数会放在这个包下//3、 包名是从$GOPATH/src/开始算起,使用/进行分割
import	(//step1: 导包"gocode/testproject01/db"
)func main (){//2、调用, 此时aaa为所声明的包的名字aaa.ConnectDB()
}
2.2 db文件
package aaa //文件声明的报名import "fmt"// 连接数据库的函数
func ConnectDB() {fmt.Println("success to connect db")
}

2.3 执行结果

(base) PS E:\Goproject\src\gocode\testproject01> go run ./main/main.go
success to connect db
3、 一个目录下的同级文件归属于同一个包

文件结构

在这里插入图片描述

3.1 mian文件夹下的main文件
package main //1、 包的声明, 建议:包的声明建议和这个包所在的文件夹同名
//2、main包是程序的入口包, 一般main函数会放在这个包下//3、 包名是从$GOPATH/src/开始算起,使用/进行分割
import	(//step1: 导包"gocode/testproject01/db"
)func main (){//2、调用aaa.ConnectDB()bbb.ConnectDB2()
}
3.2 db文件夹下的util文件
package bbb //包名1 import "fmt"// 连接数据库的函数
func ConnectDB2() {fmt.Println("success to connect db")
}
3.3 db文件夹下的dbutil文件
package aaa //包名2import "fmt"// 连接数据库的函数
func ConnectDB() {fmt.Println("success to connect db")
}
3.4 结果展示
(base) PS E:\Goproject\src\gocode\testproject01> go run ./main/main.go //aaa、 bbb在属于同一个包下同一级文件,又包名不同,所以会报错
main\main.go:7:2: found packages aaa (dbutil.go) and bbb (util.go) in E:\Goproject\src\gocode\testproject01\db
3.5 若是同包名的情况(此处改bbb为aaa)
a. util文件
package aaaimport "fmt"// 连接数据库的函数
func ConnectDB2() {fmt.Println("success to connect db")
}
b. main文件
package main //1、 包的声明, 建议:包的声明建议和这个包所在的文件夹同名
//2、main包是程序的入口包, 一般main函数会放在这个包下//3、 包名是从$GOPATH/src/开始算起,使用/进行分割
import	(//step1: 导包"gocode/testproject01/db"
)func main (){//2、调用aaa.ConnectDB()aaa.ConnectDB2()
}
3.6 结果展示
(base) PS E:\Goproject\src\gocode\testproject01> go run ./main/main.go
success to connect db
success to connect db
关键字:Golang 教程3——包

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: