迹忆客 计算机编程题库

题库 > Go > Go 精编练习题 练习:90

Go 精编练习题

下面的程序的运行结果是? ```go func main() { if (true) { defer fmt.Printf("1") } else { defer fmt.Printf("2") } fmt.Printf("3") } ```
  • 321
  • 32
  • 31
  • 13
正确答案是:C
正确率:43%

解析:

我们可以直接通过本站的 Go 在线执行工具 验证上述代码结果。

同时也可以点击下面的运行示例直接查看运行结果

package main

import "fmt"
func main() {
    if (true) {
        defer fmt.Printf("1")
    } else {
        defer fmt.Printf("2")
    }
    fmt.Printf("3")
}

运行示例

fmt.Printf("2")没有被压入栈,所以程序退出前的延迟执行自然也就没有它。

查看笔记

扫码一下
查看教程更方便