视频来源:B站《golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]》
文章为自己整理的学习笔记,侵权即删,谢谢支持!
文章目录
一 golang包
1.1 包的引出
- 在实际的开发中,我们往往需要在不同的文件中,去调用其它文件的定义的函数,比如
main.go
中,去使用utils.go
文件中的函数,如何实现——包 - 现在有两个程序员共同开发一个 Go 项目,程序员A希望定义函数 Cal ,程序员B也想定义函数也叫 Cal。两个程序员为此还吵了起来,怎么办——包
1.2 包的原理图
包的本质实际上就是创建不同的文件夹,来存放程序文件。
1.3 包的基本概念
go 的每一个文件都是属于一个包的,也就是说 go 是以包的形式来管理文件和项目目录结构的
包的三大作用:
- 区分相同名字的函数、变量等标识符
- 当程序文件很多时,可以很好的管理项目
- 控制函数、变量等访问范围,即作用域
语法:
-
打包基本语法:
package 包名
-
引入包基本语法:
import "包的路径"
1.4 实例演示
我们将 func Cal
定义到文件 utils.go
, 将 utils.go
放到一个包中,当其它文件需要使用到 utils.go
的方法时,可以 import 该包
,就可以使用了.
目录结构:
utils.go 文件:
package utils
import "fmt"
func Cal(n1 float64, n2 float64, operator byte) float64 {
var res float64
switch operator {
case '+':
res = n1 + n2
case '-':
res = n1 - n2
case '*':
res = n1 * n2
case '/':
res = n1 / n2
default:
fmt.Println("符号错误")
}
return res
}
main.go 文件:
package main
import (
"fmt"
"go_pro/utils"
)
func main() {
var n1 float64 = 1.2
var n2 float64 = 2.3
var operator byte = '+'
result := utils.Cal(n1, n2, operator)
fmt.Println("result = ", result)
}
运行结果:
[Running] go run "c:\Users\Mechrevo\Desktop\go_pro\main\main.go"
result = 3.5
1.5 注意事项
-
在给一个文件打包时,该包对应一个文件夹,比如这里的 utils 文件夹对应的包名就是 utils,文件的包名通常和文件所在的文件夹名一致,一般为小写字母。
-
当一个文件要使用其它包函数或变量时,需要先引入对应的包。
-
为了让其它包的文件,可以