はじめに
Swiftをやっていて「何やねんこれは」となり、最初は放置していましたが、
最近何となしにわかり始めたので書きました。
値の破棄
Swiftでは変数名にアンスコを使用することで代入する値を破棄することができます。
例えば、nilチェックするけど別にそれ自体を何か他で使用することがないときとか。
for-inで回すけど特にループ変数は使うことがないとか、そんなときに使います。
以下、SceneDelegate.swiftに初期で記されてあるものです。
guard let _ = (scene as? UIWindowScene) else { return }
ダウンキャストのチェックはするけど以降で別に使用しないので、アンスコで破棄しています。
とりあえず、変数名にアンスコを見かけたら「他のところで使わんのやね」でおkと思います。
引数名の省略
Swiftでは関数を呼ぶ際には通常ラベル名もしくは引数名を記す必要がありますが、
アンスコをラベルに使用することで値のみの記載で呼び出せるようになります。
// 引数名のみ
func sumNum(x: Int, y: Int) -> Int {
return x + y
}
sumNum(x: 1, y: 2) // 3
// ラベル
func sumNum(num1 x: Int, num2 y: Int) -> Int {
return x + y
}
sumNum(num1: 1, num2: 2) // 3
// アンスコ
func sumNum(_ x: Int, _ y: Int) -> Int {
return x + y
}
sumNum(1, 2) // 3
おわりに
まだまだ理解不足なところだらけなので、コメント欄で補記していただいたり、
追加のリクエストくださると嬉しいです。