「第一回」 クロージャとは何なのか初学者なりに解釈してみる
クロージャとは
結論
「関数名のない関数である!」
という解釈に行き着きました
「クロージャとは、変数をスコープ{}内に閉じ込めるための構造」
という説明がよく参照しているサイトで書かれているのですが、ぶっちゃけ何言ってるのかわかりませんでした。
え?閉じ込めてどうすんの?変数っていつからPチ姫になっちゃったの?
というわけのわからないことばかり考えて、クロージャのことは全く頭に入りませんでした。
一応クロージャの定義の書式はこんな感じです
-------------------------------------------------
{ (引数名:引数の型) -> 戻り値の型 in
処理の実行
}
-------------------------------------------------
で、関数の定義の書式がこんな感じ
--------------------------------------------------
func 関数名 (引数名: 引数の型 , ...) -> 戻り値の型 {
処理の実行
}
--------------------------------------------------
これを見てもらえればわかると思うのですが
クロージャと関数の大きな違いって
「関数名があるかないか」
だけだと思うんですよね。
そりゃ使い方とか in キーワードの記述とか細かな違いはあると思うんですけど
初心者のうちはこのくらいのザックリとした認識でいいんじゃないかなと思ってます。
というか一つの項目にそこまで頭悩ませてたら時間が足らん!!
というわけで自分なりの解釈を申し上げました。
クロージャに関する詳しいことは、他のサイトをご参照ください。
自分は初学者のうちはとりあえずよくわからないことは
自分なりの解釈をして間違っていたらその度に修正することを心がけてやっていきます。
まあそのためのこのブログという名の自己満日記ですから、存分に活用させていただきますよ私は!
この記事を見てくれた勉強熱心なあなたもアウトプットの手段としてのブログを始めてみてはいかがでしょう。
案外楽しいですよ。自分の言葉で自分の解釈を書き記すというものは
それではこの辺で〜
「アウトプット 7 : 3 インプット」