开发者

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

目录
  • init函数
    • 基本介绍
    • 注意事项和细节
    • 案例
  • 匿名函数
    • 介绍
    • 调用方式
      • 方式1
      • 方式2

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函数最主要的作用,就是完成一些初始uQsTB化的工作

案例

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

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的数据类型就是函数类型uQsTB,此时,我们可以通过a完成调用
	a := func ( n1 iwww.devze.comnt, n2 int) int {
		return n1 + n2
	}
	res1 := a(10, 20)
	fmt.Println("res1=", res1)
}

到此这篇关于Go语言中init函数与匿名函数使用浅析的文章就介绍到这了,更多相关Go i编程客栈nit函数与匿名函数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜