関数(function)とは
関数は、ある特定の処理をまとめたブロックのことです。プログラムの中で何度も使い回される処理を関数化することで、コードの重複を避け、可読性や保守性を高めることができます。
関数は、入力値を受け取り、処理を実行し、出力値を返すことができます。また、入力値や出力値が必要ない場合は、省略することもできます。
例文
関数の構文
Swiftで関数を定義するためには、次のような構文を使用します。
func 関数名(引数: 引数の型) -> 戻り値の型 {
// 関数の処理
return 戻り値
}
引数の例
引数は、関数に渡す値を指定するために使用されます。
func greet(person: String) -> String {
let greeting = "Hello, " + person + "!"
return greeting
}
greet(person: "John") // "Hello, John!"
greet(person: "Jane") // "Hello, Jane!"
引数には、デフォルト値を指定することもできます。
func greet(person: String = 'soga') -> String {
let greeting = "Hello, " + person + "!"
return greeting
}
greet(person: "") // "Hello, soga!"
複数の引数
関数には、複数の引数を指定することができます。
func greet(person: String, alreadyGreeted: Bool) -> String {
if alreadyGreeted {
return greet(person: person)
} else {
return "Nice to meet you, " + person + "!"
}
}
greet(person: "John", alreadyGreeted: true) // "Hello, John!"
greet(person: "Jane", alreadyGreeted: false) // "Nice to meet you, Jane!"
戻り値の例
戻り値は、関数から返される値を指定するために使用されます。
func getSum(firstNumber: Int, secondNumber: Int) -> Int {
let sum = firstNumber + secondNumber
return sum
}
let totalSum = getSum(firstNumber: 10, secondNumber: 20)
print(totalSum) // 30
無名引数
引数に名前を指定しない場合、引数は無名引数と呼ばれます。無名引数は、_で表すことができます。
func greet(_ person: String, alreadyGreeted: Bool) -> String {
if alreadyGreeted {
return greet(person: person)
} else {
return "Nice to meet you, " + person + "!"
}
}
greet("John", alreadyGreeted: true) // "Hello, John!"
greet("Jane", alreadyGreeted: false) // "Nice to meet you, Jane!"