第二個 func 里面的()為啥不用把 i 傳進去呢
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í)行就會繼承作用域內的參數(shù),是否傳i都行。
2020-01-29
第二個func是 defer 攜帶的表達式語句的參數(shù),defer運行時對第二個func先求值