我有兩個(gè)代碼示例:func test() int { var x int defer func() { x++ }() x = 1 return x}func main() { fmt.Println(test())}它返回:1。但是,以下代碼示例的行為有所不同:func test() (x int) { defer func() { x++ }() x = 1 return}func main() { fmt.Println(test())}它返回2。
關(guān)于 defer 行為的 Go 語(yǔ)言面試問(wèn)題
墨色風(fēng)雨
2023-08-14 17:20:33