関数を定義するとき、関数が入力値として取る 1 つ以上の名前と型を持つパラメータを任意に定義することができます。また、関数が完了したときに、関数が出力として返す値の型を、戻り値の型として任意に定義することもできます。
すべての関数は関数名を持ち、関数が実行するタスクを表現します。関数を使用するには、名前と関数のパラメータの型に一致する入力値(引数)を渡してその関数を呼び出します。関数の引数は、関数のパラメータリストと同じ順序にする必要があります。
次の例での関数は、関数が行うことを表現した sayHello(_:)
で、ある人の名前を入力値として受け取り、その人に向けての挨拶を返します。これを実現するために、String
値の personName
を入力パラメータと、その人に向けての挨拶を含む String
の戻り値の型を定義しています。
func sayHello(personName: String) -> String {
let greeting = "Hello, " + personName + "!"
return greeting
}
関数の定義は func
キーワードで始めます。関数の戻り値の型は、アロー(ハイフンに続けて、右向きの山括弧)に続けて、返す型の名前で示します。
関数が行うこと、関数が受け取るもの、完了時に関数が返すものを、関数の定義は表現しています。この定義によって、コードの他のところからでも誤解の余地なく関数を呼び出すことができるようになっています。
print(sayHello("Anna"))
// "Hello, Anna!" と出力
print(sayHello("Brian"))
// "Hello, Brian!" と出力
丸括弧内に String
の引数値を渡して、sayHello("Anna")
のようにして関数 sayHello(_:)
を呼び出します。この関数は String
の値を返すため、文字列を出力する関数 print(_:separator:terminator:)
に sayHello(_:)
を渡すことができます。
関数 sayHello(_:)
の本体は、String
の定数 greeting
を定義し、personName
に向けての簡単な挨拶メッセージを設定することから始まっています。そして、この挨拶は return
キーワードで関数の外に返されています。return greeting
が呼び出されるとすぐに、関数は実行を終了して、greeting
の現在値を返します。
関数 sayHello(_:)
を異なる入力値で複数回にわたって呼び出すことができます。上の例では、入力値 "Anna"
と、入力値 "Brian"
で呼び出された場合にどうなるかを示しています。関数は、各ケースに合わせた挨拶を返しています。
この関数の本体を簡略化するために、メッセージの生成と、それを返すコードとを 1 行にまとめています。
func sayHelloAgain(personName: String) -> String {
return "Hello again, " + personName + "!"
}
print(sayHelloAgain("Anna"))
// "Hello again, Anna!" と出力
Portions of this page are translations based on work created and shared by Apple and used according to terms described in the Creative Commons Attribution 4.0 International License.