解析:
我们可以直接通过本站的 Go 在线执行工具 验证上述代码结果。
同时也可以点击下面的运行示例直接查看运行结果
package main import "fmt" func main() { if (true) { defer fmt.Printf("1") } else { defer fmt.Printf("2") } fmt.Printf("3") } 运行示例
package main import "fmt" func main() { if (true) { defer fmt.Printf("1") } else { defer fmt.Printf("2") } fmt.Printf("3") }
运行示例
fmt.Printf("2")没有被压入栈,所以程序退出前的延迟执行自然也就没有它。