defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer.
可以看出,是在return 0 后,在按照先进后出的顺序执行的
defer 重要的特性,就是即便函数抛出了异常,最后也一定会被执行的。 这样就不会因程序出现了错误,而导致资源不会释放了。
defer一般用于异常处理、释放资源、清理数据、记录日志等。
defer 在声明时不会立即执行,而是在函数 return 后,再按照 FILO (先进后出)的原则依次执行每一个 defer.
可以看出,是在return 0 后,在按照先进后出的顺序执行的
defer 重要的特性,就是即便函数抛出了异常,最后也一定会被执行的。 这样就不会因程序出现了错误,而导致资源不会释放了。
defer一般用于异常处理、释放资源、清理数据、记录日志等。