![見出し画像](https://assets.st-note.com/production/uploads/images/120082393/rectangle_large_type_2_9f35aa06da8ca5808030dce48b90356f.png?width=800)
楽しい!Swift。 - A Swift Tour (Functions and Closures-1)
関数
ある処理をまとめて定義しておいて、後で繰り返し使える仕組みがあります。ある処理を定義するものを関数と言います。
関数の定義には func を使います。funcの次に関数名を書き、そのあと引数、戻り値の型になります。
func 関数名(引数) -> 戻り値の型{
処理
return 戻り値
}
func greet(person: String, day: String) -> String {
return "Hello \(person), today is \(day)."
}
greet(person: "Bob", day: "Tuesday")
print(greet(person: "Bob", day: "Tuesday"))
として関数実行、出力すると
Hello Bob, today is Tuesday.
となり、関数が引数を使って実行されたことがわかります。
関数の引数はデフォルトで、関数はパラメータ名をそのままラベルとして使用します。
(パラメータ名: 引数) func greet(person: String)など
使うときは
(ラベル: 引数) greet(person: "Bob")
独自の引数ラベルを設定したい場合は、パラメータ名の前に引数ラベルを記載してください。引数にラベルが不要な場合は、"_"
person: String → _ person: String
必要な場合は
day: "Tuesday" → on day: String
という感じに変更します。全体としては
func greet(_ person: String, on day: String) -> String {
return "Hello \(person), today is \(day)."
}
ラベルは"_"と"on"
(_ person: String, on day: String)
となり、
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"
返り値
-> (min: Int, max: Int, sum: Int) として
return (min, max, sum) と返す
取り出しは
statistics.sum 名前
statistics.2 番号
この記事が気に入ったらサポートをしてみませんか?