Swift 入門 | 関数 | 複数の戻り値とタプル
Swift の関数には興味深い特徴がいくつもある。その中でも重要なものが、複数の値を返す機能である。
これは関数自体に特別な仕組みがあるのではない。Swift に用意されているタプル(tuple)という値を利用する。
タプルは複数の値を 1 つにまとめて扱う。丸かっこを使って簡単に作成できる。
(名前:値, 名前:値, ...)
タプルにまとめた値は、名前を指定して取得できる。
var person = (name:"Taro", age:35)
person.name
person.age
このコードでは、name と age を持つタプルを変数 person に代入している。値は person.name と person.age の形式で取得できる。
戻り値としてタプルを使う
タプルの考え方を理解すると、複数の値を返す関数も簡単に作成できる。
func tax(price:Int) -> (kakaku:Int, zei:Int) {
let zei:Int = Int(Double(price) * 0.08)
let kakaku:Int = price - zei
return (kakaku:kakaku, zei:zei)
}
var res = tax(10000)
res.kakaku
res.zei
戻り値は次のように指定する。
-> (kakaku:Int, zei:Int)
これにより、kakaku と zei の 2 つの値を持つタプルを戻り値として指定できる。関数の戻り値を受け取った変数から、それぞれの値を取り出して使う。