導入
同じ処理を何度も書くのは大変。処理に名前をつけて再利用できるようにするのが 関数 です。Swiftの関数は「呼び出したとき読みやすい」工夫が効いています。
説明
func 名前(引数: 型) -> 戻り値の型 { ... } で定義し、return で結果を返します。
func square(_ n: Int) -> Int {
return n * n
}
print(square(4)) // 16
引数の前の _ は「呼ぶときにラベルを省略する」印です。ラベルを付けると、呼び出しが英文のように読めます。
func greet(to name: String, from sender: String) -> String {
return "\(name)さんへ、\(sender)より"
}
print(greet(to: "田中", from: "佐藤"))
引数に = 既定値 を付ければ デフォルト値。省略するとその値が使われます。
func power(_ base: Int, times: Int = 2) -> Int {
var result = 1
for _ in 1...times { result = result * base }
return result
}
print(power(3)) // 9(times は既定の2)
print(power(2, times: 3)) // 8
戻り値が1つの式だけなら return を省略できます(func square(_ n: Int) -> Int { n * n })。
やってみよう
greet のラベルを変えたり、power の times を指定/省略したりして、結果の違いを確かめましょう。
演習
2つの整数を受け取って合計を返す関数 add を作り、add(7, 8) の結果(15)を print してください。
ヒント1を見る
func add(_ a: Int, _ b: Int) -> Int { a + b }
ヒント2を見る
print(add(7, 8))