一、go mod 以及 Golang 自定义包
go mod init 初始化项目
image新建一个 demo 文件夹,在 demo 文件夹下新建 go.mod
文件和 main.go
文件,再在 demo 文件夹下新建一个 calc 文件夹,在 calc 文件夹下新建一个 calc.go
文件。
calc.go 代码:
package calc // package 一定要放在最上面
func Add(x, y int) int { // 首字母大写表示公有方法
return x + y
}
func Sub(x, y int) int {
return x - y
}
main.go 代码:
package main
import (
"fmt"
"demo/calc" // 使用自定义包
)
func main() {
sum := calc.Add(10, 2)
fmt.Println(sum)
}
一个文件夹下直接包含的文件只能归属于一个 package,同样一个 package 的文件不能在多个文件夹下。
因此 calc.go
只属于 calc package。
包前面加下划线空格表示匿名引入包,如果不使用这个包,则不会报错。
import (
"fmt"
_ "demo/calc" // 使用自定义包
)
main 包中,init
函数优先于 main
函数。
最后被导入的包会最先初始化并调用其 init()
函数。
网友评论