defer函数--延迟--Go语言学习笔记

Posted 旧时星空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了defer函数--延迟--Go语言学习笔记相关的知识,希望对你有一定的参考价值。

defer函数–延迟–Go语言学习笔记

defer的用法:

1.A:对象.open(),临时文件的删除

文件.open()

defer close()

读或写

B:go语言中关于异常的处理,使用panic()和recover()

panic函数用于引发恐慌,导致程序中断执行

recover函数用于恢复程序的执行,recover()语法上要求必须在defer中执行

2.如果多个defer函数:先延迟的后执行,后延迟的先执行,同栈的存储

3.defer函数传递参数时:defer函数调用时,就已经传递了参数数据,只是暂时不执行函数中代码而已。


func main(){
    a:=2
fmt.Println(a)//2
    defer fun2(a)
    a++
    fmt.Println("main中:",a)//3
}
func fun2(a int){
    fmt.Println("fun2中打印a:",a)//2
}

以上是关于defer函数--延迟--Go语言学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

3.6 Go语言函数的延迟调用(Deferred Code)

3.6 Go语言函数的延迟调用(Deferred Code)

Go 延迟函数 defer 详解

go defer (go延迟函数)

Go 延迟函数 defer 详解

Go语言defer(延迟执行语句)