我一直盯著這段代碼,無法弄清楚其行為的原因。package mainimport ( "fmt")var i intfunc example() int { defer func() { fmt.Println("defer") i = 1 }() fmt.Println("first") return i}func main() { fmt.Println(example()) fmt.Println(i)}起初,我的預期輸出是:firstdefer11但是,正如您在操場上看到的那樣,實際輸出是:firstdefer01它是延遲的匿名函數(shù)行為嗎?沒有那么,為什么要打印0?
添加回答
舉報
0/150
提交
取消