🍏

Swiftの _ の使いわけ

2024/04/22に公開

Tips💡

Swiftのコードで、_がついているコードを見ることがある。
これはなんなのだろうか....

今回は、独特なコードについての理解を深めたいと思って、Swiftのアンダースコアについて調べてみました。

letの省略をするときに使える。この場合は、printは使えませんが...

func io(num: Int) -> Int {
    return num
}

_ = io(num: 1)// 1

letの場合:

func io(num: Int) -> Int {
    return num
}

let i = io(num: 1)
print(i)// 1

引数ラベルの省略

functionの引数に、num: 1 と書いてますが、_にすると、これラベルというそうですが、num:を省略することができます。

外部引数を省略したときに使うようです。

これが通常の書き方。

func io(num: Int) -> Int {
    return num
}
// ラベルが必要
let i = io(num: 1)
print(i)

_ 半角スペース 引数: データ型で書くと、メソッドにラベルを書かなくてよくなります。

func io(_ 半角スペース 引数: データ型)

サンプルコード:

func io(_ num: Int) -> Int {
    return num
}
// ラベルが不要
let i = io(1)
print(i)// 1

まとめ

_ をつけるSwift独特のコードを見て混乱することがありましたが、外部引数の省略、letの省略をすることができるのだなと、理解できました。

参考になったサイト
https://naoya-ono.com/swift/swift-func-param/
https://qiita.com/mono0926/items/2eb40d58275d20e89ac8
https://note.com/iga34engineer/n/n54849e539f87

Discussion