下面两个代码看起来差不多,但运行结果却天差地别
代码 1
var a int
defer func() {
fmt.Println(a)
}()
for {
if a > 10 {
return
}
a++
}
代码 2
var a int
defer fmt.Println(a)
for {
if a > 10 {
return
}
a++
}
结果:
代码 1 输出:11
代码 2 输出:0