defer关键字的作用 defer 会在当前函数或者方法返回(return)之前执行传入的函数.它会经常被用于关闭文件描述符.关闭数据库连接以及解锁资源. 在go语言中,程序有defer语句并不会马上执行,而是会进入一个栈,函数return前,会按先进后出的顺序执行.也说是说最先被定义的defer语句最后执行.先进后出的原因是后面定义的函数可能会依赖前面的资源,自然要先执行:否则,如果前面先执行,那后面函数的依赖就没有了. 遇到defer关键字,会将后面的代码语句压入栈中,也会将相关的值同时拷贝…