:短い変数宣言と長い変数宣言とのクロージャスコープの違いは何ですか?スペックの私の読書から
短い変数の宣言は... ...初期化子式が、なしのタイプと通常の変数 宣言の省略形です
私は2つが同じであると思ったでしょう:
var f func()
f = func() {
...
}
と
f := func() {
...
}
しかし、そうでないようです。私は外側の関数の内部で自己再帰関数をラップしようとしていたが、これは動作します:
func myOuter() {
var f func()
f = func() {
f()
}
f()
}
をしかし、これは、内部機能でundefined: f
を言っていません。
func myOuter() {
f := func() {
f()
}
f()
}
だから違いは何ですか? ショートフォーム宣言でこれを書く方法はありますか、それともそれを長文で書く必要がありますか?
感謝Kissaki、私は間違いなく同じことを2回貼り付けました。 – Joe