go语言中的包
初始化项目
go mod init goStudy
然后项目中会出现一个go.mod文件,文件内容如下:
module goStudy
go 1.26.5
创建calc包,并且使用包中的方法
与 go.mod文件在同一目录下,文件夹名与包名一致,创建calc/calc.go文件
文件内容如下:
package calc // 这个包名和文件夹名一致
func Add(a, b int) int {
return a + b
}
func Sub(a, b int) int {
return a - b
}

使用calc包中的方法
package main
import (
"fmt"
"goStudy/calc" // 引入calc包
)
func main() {
fmt.Println(calc.Add(1, 2))
fmt.Println(calc.Sub(1, 2))
}

输出结果:
3
-1
包中大写的变量是公有变量,小写的变量是私有变量
包中大写的变量(方法)是公有变量(方法),小写的变量(方法)是私有变量(方法),,
公有变量可以被其他包使用,私有变量只能被当前包使用(不能够导出,不能够被其他包使用)
calc\calc.go文件内容如下:
package calc // 这个包名和文件夹名一致;包一定要放置在最上面
var Name = "calc" // 公有变量
var age = 10 // 私有变量
// 公有方法 可以被其他包使用
func Add(a, b int) int {
return a + b
}
// 公有方法, 可以被其他包使用
func Sub(a, b int) int {
return a - b
}
day01.go文件内容如下:
package main
import (
"fmt"
"goStudy/calc"
)
func main() {
fmt.Println(calc.Name) // 公有变量可以被其他包使用
// fmt.Println(calc.age) // 报错,私有变量不能被其他包使用
}
会报错的哈,因为私有变量不能被其他包使用
可以创建多个包
与 go.mod 文件同级,可以创建多个包,如下
fn/fn.go // 这个包名和文件夹名一致;包一定要放置在最上面
del/del.go // 这个包名和文件夹名一致;包一定要放置在最上面
Golang中自定义包
包(package)是多个Go源码的集合,
一个包可以简单理解为一个存放多个.go文件的文件夹。
该文件夹下面的所有go文件都要在代码的第一行添加如下代码(如下所示),声明该文件归属的包。
package 包名
注意事项:
1,一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能在多个文件夹下。
2,包名可以不和文件夹的名字一样,包名不能包含-符号。
3,包名为main的包为应用程序的入口包,这种包编译后会得到一个可执行文件,
而编译不包含main包的源代码则不会得到可执行文件。
包的引入: 单行引入和多行引入
包可以单行引入:
import “包1”
import “包2”
多行引入
import (
"fmt"
"goStudy/calc"
)
给包设置别名
import (别名 "包的路径")
import (
"fmt"
T "goStudy/calc"
)
出处:https://www.cnblogs.com/ishoulgodo/
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果觉得这篇文章对你有小小的帮助的话,记得在右下角点个“推荐”哦,或者关注博主,在此感谢!
万水千山总是情,打赏5毛买辣条行不行,所以如果你心情还比较高兴,也是可以扫码打赏博主(っ•̀ω•́)っ✎⁾⁾!
想问问题,打赏了卑微的博主,求求你备注一下的扣扣或者微信;这样我好联系你;(っ•̀ω•́)っ✎⁾⁾!
如果文中有什么错误,欢迎指出。以免更多的人被误导。

浙公网安备 33010602011771号