Swift 実践入門のまとめ。
分からない部分の抜粋も記載し、解決できたら随時更新していきます。
なお、ここに記載している以外でも「わけわからん…」となっている部分も多々ありますが、
今は必要ない、と言い聞かせて飛ばしています。
第6章
関数とクロージャ 複数の工程や処理などを1つにまとめたもの。切り出すことで再利用可能
理解度:70%くらいか
6-2 関数
func double(_ x : Int) -> Int { //_は呼出時にdouble(x : 2)ではなくdouble(2)って書ける
return x * 2
}
double(2) //4
引数…関数への入力。「引数名:型」を指定する。型の後に= “~”など入れればデフォルト引数になる。
呼出時に具体的な値を入れる。
6-3 クロージャ…関数と同じく再利用可能な1つのまとまり。関数はクロージャの一種。
クロージャはその処理を変数、定数、関数などに渡すことができる。
・定義方法
var closure: (String) -> Int
closure = { (string: String) -> Int in
return string.count * 2
}
closure(“abc”) //6
引数…複数の引数を取り、引数名を$を使って簡略化できる。$0で最初の引数、$1で2番目の引数を表す。
キャプチャ…クロージャ自身が定義されたスコープ内の遠陬や定数をスコープ外でも使える機能。今はまだどのように使っていくかイメージが沸かない…
引数としてのクロージャ…引数としてクロージャを利用できるが、スコープ外で利用する場合「@escaping」の記述が必要。このようにクロージャを関数に渡すと属性が必要になるが、ここはまだ理解できていない。