楽しい!Swift。 - A Swift Tour (Functions and Closures-1)
関数
ある処理をまとめて定義しておいて、後で繰り返し使える仕組みがあります。ある処理を定義するものを関数と言います。
関数の定義には func を使います。funcの次に関数名を書き、そのあと引数、戻り値の型になります。
func greet(person: String, day: String) -> String {
return "Hello \(person), today is \(day)."
}
greet(person: "Bob", day: "Tuesday")
として関数実行、出力すると
Hello Bob, today is Tuesday.
となり、関数が引数を使って実行されたことがわかります。
関数の引数はデフォルトで、関数はパラメータ名をそのままラベルとして使用します。
使うときは
独自の引数ラベルを設定したい場合は、パラメータ名の前に引数ラベルを記載してください。引数にラベルが不要な場合は、"_"
必要な場合は
という感じに変更します。全体としては
func greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
ラベルは"_"と"on"
となり、
greet("John", on: "Wednesday")
という感じで使うことができます。
タプル
タプルを使って複数の値を扱うことができます。関数では複数の値を返し、タプルの要素は、名前または番号で取り出すことができます。
func calculateStatistics(scores: [Int]) -> (min: Int, max: Int, sum: Int) {
var min = scores[0]
var max = scores[0]
var sum = 0
for score in scores {
if score > max {
max = score
} else if score < min {
min = score
}
sum += score
}
return (min, max, sum)
}
let statistics = calculateStatistics(scores: [5, 3, 100, 3, 9])
print(statistics.sum)
// Prints "120"
print(statistics.2)
// Prints "120"
返り値
取り出しは