首页 > 其他分享 >defer

defer

时间:2022-10-17 13:34:40浏览次数:39  
标签:defer fmt func 栈中 Println main

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
}

 

标签:defer,fmt,func,栈中,Println,main
From: https://www.cnblogs.com/zxqblogrecord/p/16798895.html

相关文章