一、前言
这个文章简单了写了一下包、init函数、匿名函数。
二、学习代码
1.包
Go
package packTest
import "fmt"
func init() { //如果主函数引用了这个包,主函数执行的时候会先执行包的init
fmt.Println("hello world")
}
func Add(num1 int, num2 int) int {
sum := num1 + num2
return sum
}
// 一个包里不能有相同的函数名,文件名和文件夹名和包名其实可以不一样,建议包名和文件夹名字一样
// 同一个文件夹下的文件,要是同一个包里的
Go
package main
import (
test "GoLanguage/packTest" //可以在这给包起别名
"fmt"
)
func main() {
fmt.Println(test.Add(10, 26))
}
2.init函数
先于main执行
Go
func init() { //初始化函数,先于main执行,在这创建的局部变量不是全局,应该是用来给全局变量赋值的
//initnum := 64 不可用
fmt.Println("initFunction!")
}
3.匿名函数
Go
package main
import (
test "GoLanguage/packTest" //可以在这给包起别名
"fmt"
)
func main() {
//下面这个是匿名函数
result := func(n1 int, n2 int) int {
return n1 + n2
}(num1, num2)
fmt.Println(result)
//匿名函数赋予一个变量,后面通过这个变量使用,跟函数还是很像的,全局变量这么干就跟普通函数差不多了
sub := func(n1 int, n2 int) int {
return n1 - n2
}
lastsub := sub(num1, num2)
fmt.Println(lastsub)
}