第二個 func 里面的()為啥不用把 i 傳進(jìn)去呢
func?main()?{????
????for?i?:=?0;?i?<?10;?i++?{????????
????????defer?func(n?int)?{????????????
????????????fmt.Printf("%d",?n)????????
????????}(func()?int?{???????????
????????????n?:=?fibonacci(i)???????????
????????????fmt.Printf("%d",?n)???????????
????????????return?n????????
????????}())????
????}
}
2020-02-02
無所謂,參數(shù)部分是立即執(zhí)行的。立即執(zhí)行就會繼承作用域內(nèi)的參數(shù),是否傳i都行。
2020-01-29
第二個func是 defer 攜帶的表達(dá)式語句的參數(shù),defer運(yùn)行時對第二個func先求值