亲宝软件园·资讯

展开

Go语言中init函数与匿名函数使用浅析

fiveym 人气:0

init函数

基本介绍

每一个源文件都可以包含一个init函数,该函数会在main函数执行前,被Go运行框架调用,也就是说init会在main函数前被调用

package main
import "fmt"
//init函数,通常可以在init函数中完成初始化工作
func init() {
	fmt.Println("init()")
}
func main() {
	fmt.Println("main()")
}
/*
init()
main()
*/

注意事项和细节

1.如果一个文件同时包含全局变量定义,init函数和main函数,则执行的流程是变量定义->init函数->main函数

2.init函数最主要的作用,就是完成一些初始化的工作

案例

如果main.go和utils.go都含有变量定义init函数时,执行的流程又是怎么样的?

匿名函数

介绍

Go支持匿名函数,如果我们某个函数知识希望使用一次,可以考虑使用匿名函数,匿名函数也可以实现多次调用。

调用方式

方式1

在定义匿名函数时就直接调用,这种方式匿名函数只能调用一次

package main
import (
	"fmt"

)
func main() {
	res1 := func ( n1 int, n2 int) int {
		return n1 + n2
	}(10, 20)
	fmt.Println("res1=", res1)
}

方式2

将匿名函数赋给一个变量(函数变量),再通过变量来调用匿名函数

package main
import (
	"fmt"
)
func main() {
	//将匿名函数func (n1 int,n2 int)int赋值给a变量
	//则a的数据类型就是函数类型,此时,我们可以通过a完成调用
	a := func ( n1 int, n2 int) int {
		return n1 + n2
	}
	res1 := a(10, 20)
	fmt.Println("res1=", res1)
}

加载全部内容

相关教程
猜你喜欢
用户评论