defer
package main import "fmt" // defer 把函数放到栈中,最先定义的最后执行 func a() { i := 0 defer fmt.Println(i) // 放到函数栈中的时候也把值传入进去了 i++ defer func(i int) { fmt.Println(i) // 放到函数栈中的时候也把值传入进去了 }(i) defer func() { // 使用的是全局变量 i++ fmt.Println(i) }() return } func main() { a() // 2 , 1 ,0 }
posted on 2022-10-17 13:23 running-fly 阅读(9) 评论(0) 编辑 收藏 举报