今回は、Swiftの関数を定義する際に受け取る引数の個数を指定せず、いくつでも受け取れるようにする定義の仕方を紹介する。
可変長引数関数
いわゆる可変長引数の関数定義で、以下のように引数の後ろに「…」を付けることで定義することができる。
func sum(nums: Double...) -> Double {
var total: Double = 0.0
for num in nums {
total += num
}
return total
}
受け取った引数は配列として扱うことができ、上記の例ではfor in文を使って合計値を求めている。
関数を使う際は、カンマ区切りで値を引数として与える。
let total = sum(nums: 1, 2, 3, 4, 5)
print(total)
// 15.0
関数の引数は可変長となっているので、この際の引数の数は0個でも何個でも構わない。