标签:关闭 必须 多个 说明 执行 程序 defer 添加 文件
说明
defer的词义:“延迟”,“推迟”
在go语言中,使用defer关键词来延迟一个函数或方法的执行
defer函数或方法:一个函数或方法被延迟执行了,需要等到所有函数或方法中的所有代码执行完后才会执行defer修饰的函数或方法。
defer的用法
对象.close() 如数据库连接的关闭,文件的删除等
关于异常的处理,使用panic()和recover()
panic函数用于引发恐慌,导致程序中断执行
recover函数用于恢复程序的执行,recover函数语法上要求必须在defer中执行
如果多个defer函数:先延迟后执行,后延迟先执行
defer函数传递参数的时候:defer函数调用时,就已经传递数据了参数数据了,只是暂时不执行函数中的代码而已。也就是defer函数实际执行时使用的参数是,代码执行到defer行时传入的参数值
堆栈的延迟
当一个函数有多个延迟调用时,他们被添加到一个堆栈中,并在后进先出的顺序中执行。
defer注意点
标签:关闭 必须 多个 说明 执行 程序 defer 添加 文件
原文地址:https://www.cnblogs.com/henryno12/p/12590410.html