FILO

FIFO = 先进后出(First In Last Out)

https://play.golang.org/p/4lsVhQRd2gy

panic 也不影响 defer 函数执行

https://play.golang.org/p/H8moFim3iXT

defer 函数内修改变量”可能”影响 return 值

https://play.golang.org/p/xwIvBfWPbHh https://play.golang.org/p/H7wrtp62xZt

defer 函数参数注册值传递

defer 函数内获得的参数值不会参数变量值改变而改变(Golang 函数为值传递)

https://play.golang.org/p/67xVwZm5dTs

注意另一组常见的对比: https://play.golang.org/p/WlnsF60mWfa

进阶版本: https://play.golang.org/p/CpsrDGCkl9g

参考资料