首页 > 试题广场 >

在以下代码中:func main() { for i :=

[单选题]
在以下代码中:func main() { for i := 0; i < 3; i++ { defer fmt.Println(i) } },程序运行结束后控制台输出内容是什么?
  • 输出 0, 1, 2 顺序
  • 输出 2, 1, 0 逆序
  • 输出三个相同的值(如全部为2)
  • 输出顺序随机
fmt.Println(i)是函数调用,i就是参数,所有i的值在defer每次注册时被定格了。如果是普通的匿名函数
defer func() {
    fmt.Println(i)
}()
结果就是 3 3 3

编辑于 今天 09:39:07 回复(0)