golang中defer、panic与recover的恩怨纠葛
1. defer
1.1 作用与应用场景
在函数调用结束后,完成一些收尾操作,例如数据库回滚、关闭文件、关闭数据库链接等等
1.2 基本原则
defer函数参数会被预计算
多个defer执行顺序是先入后出的
defer中可以改变命名返回变量的值
1.3 原理
golang中defer的实际结构体如下:
type _defer struct {
siz int32 //参数和结果的内存大小
started bool
openDefer bool
原创
2021-08-27 15:32:48 ·
324 阅读 ·
0 评论