第二個 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
無所謂,參數部分是立即執行的。立即執行就會繼承作用域內的參數,是否傳i都行。
2020-01-29
第二個func是 defer 攜帶的表達式語句的參數,defer運行時對第二個func先求值