🎰

【DAY7】100 Days of SwiftUI -functions, parameters, and return values

2023/01/01に公開

はじめに

iOSアプリ界隈で(たぶん)有名なPaul Hudsonさんが無料で公開しているSwiftUIの100日学習コースを進めてみます。学習記録及び備忘録がてらにつらつらと書いてみます。
100 Days of SwiftUI

学んだこと

序盤はSwiftUIは関係なくSwiftという言語の言語仕様のお話。気になった点だけピックアップ。

関数

一般的な言語と同じようにかける。Swiftではパラメータ名を明示的に書く必要がある。また、関数で定義された順番に値を指定する必要がある。つまり、以下コードにおいてprintTimesTables(5, 20)やprintTimesTables(end: 20, number: 5)のような記述はエラーになる。

func printTimesTables(number: Int, end: Int) {
    for i in 1...end {
        print("\(i) x \(number) = \(i * number)")
    }
}

printTimesTables(number: 5, end: 20)
// 出力: 1x5〜20x5の計算結果が表示される。

戻り値がある場合は以下のように書く。ピタゴラスの定理の計算。

func pythagoras(a: Double, b: Double) -> Double {
    let input = a * a + b * b
    let root = sqrt(input)
    return root
}

let c = pythagoras(a: 3, b: 4)
print(c) // 出力: 5.0

関数内を1行で書ける場合はreturnを省略することも可能。

func pythagoras(a: Double, b: Double) -> Double {
    sqrt(a * a + b * b)
}

let c = pythagoras(a: 3, b: 4)
print(c) // 出力: 5.0

Discussion