怪奇物语

怪奇物语

首页 新随笔 联系 管理

golang 闭包自动捕获外部变量的引用

闭包自动捕获外部变量的引用,即使外部函数已返回

func createCounter() func() int {
    count := 0 // 外部变量
    return func() int {
        count++ // 直接修改外部变量
        return count
    }
}

func main() {
    counter := createCounter()
    fmt.Println(counter()) // 输出:1
    fmt.Println(counter()) // 输出:2(count 被持久修改)
}
posted on 2025-04-23 08:00  超级无敌美少男战士  阅读(25)  评论(0)    收藏  举报