为了账号安全,请及时绑定邮箱和手机立即绑定

以当前值延迟

以当前值延迟

Go
慕桂英546537 2022-07-25 10:23:32
我想使用函数参数中参数的最新值调用函数。我怀疑运行此代码:package mainimport (    "fmt")func main() {    s := "ABC"        defer fmt.Println(s)    s = "DEF"}我会得到DEF。但我得到的是ABC。有什么办法可以得到DEF吗?
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

围绕要捕获的变量创建一个闭包:


https://play.golang.org/p/W4xt_KSOJNj


s := "ABC"


defer func() {

    fmt.Println(s)

}()

s = "DEF"


查看完整回答
反对 回复 2022-07-25
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信