第二個 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先求值