(十八)golang--defer关键字

2020-08-26 11:17:35 浏览数 (1)

在函数中,程序员经常需要创建资源(比如,数据库连接,文件句柄,锁等),为了在函数执行完毕后,及时释放资源,go设计者提供defer(延时机制)

用defer申明的语句不会立即执行,而是被存入到defer栈中,在程序执行完毕后,再从栈中取出(先进后出):

需要注意的是,如果defer中存在值,会将相应值的拷贝同入栈:

defer主要的价值是当函数执行完毕后,可以及时的释放函数创建的资源:

0 人点赞