type _defer struct{ siz int32// 包含入参和出参的大小 started bool heap bool openDefer bool sp uintptr// 栈指针 pc uintptr// 程序计数器 fn *funcval // 延迟处理的方法 _panic *_panic // 是否触发过panic link *_defer // 下一个defer // If openDefer is true, the fields below record values about the stack // frame and associated function that has the open-coded defer(s). sp // above will be the sp for the frame, and pc will be address of the // deferreturn call in the function. fd unsafe.Pointer // funcdata for the function associated with the frame varp uintptr// value of varp for the stack frame // framepc is the current pc associated with the stack frame. Together, // with sp above (which is the sp associated with the stack frame), // framepc/sp can be used as pc/sp pair to continue a stack trace via // gentraceback(). framepc uintptr }