以当前值延迟

我想使用函数参数中参数的最新值调用函数。我怀疑运行此代码:


package main


import (

    "fmt"

)


func main() {

    s := "ABC"

    

    defer fmt.Println(s)

    s = "DEF"

}

我会得到DEF。但我得到的是ABC。有什么办法可以得到DEF吗?


慕桂英546537
浏览 108回答 1
1回答

森栏

围绕要捕获的变量创建一个闭包:https://play.golang.org/p/W4xt_KSOJNjs := "ABC"defer func() {    fmt.Println(s)}()s = "DEF"
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go