タプル型(Tuple型)とは
複数の型を一つにまとめて扱う型のこと。
タプル型は(型名1, 型名2, 型名3)
のように表す!
var tuple: (String, Int, Double)
タプル型の要素へのアクセス方法
タプル型の要素へのアクセス方法は2つあります!
1. インデックスによるアクセス
変数と0から始まるindex数を用いて変数名.index数
でアクセスする!
var tuple = ("Hinakko", 24, 24.89)
print(tuple.0) //Hinakko
出力結果
Hinakko
2. 要素名によるアクセス
引数名をつけ、変数名.index数
でアクセスする!
var tuple = (name: "Hinakko", age: 24, double1: 24.89)
print(tuple.name) //Hinakko
出力結果
Hinakko
戻り値が複数ある関数をタプル型で返す方法
戻り値が複数ある関数をタプル型で返す方法は2つあります!
1. 戻り値に引数名がない関数
関数の戻り値を(型名1, 型名2, 型名3)
で指定し、呼び出し元で、戻り値に引数名がないので、インデックスによりアクセスする!
以下の例では(String, Int, Double)
で指定し、呼び出し元で一番最初のindex数0にアクセスしている!
関数
func returnProfile() -> (String, Int, Double) {
return ("Hinakko", 24, 24.89)
}
呼び出し元
var profile = returnProfile()
print(profile.0)
print(profile.1)
print(profile.2)
出力結果
Hinakko
24
24.89
2. 戻り値に引数名がある関数
関数の戻り値を(引数名: 型名1, 引数名: 型名2, 引数名: 型名3)
で指定し、呼び出し元で戻り値の引数名によりアクセスする!
以下の例では(name: String, age: Int, double1: Double)
で指定し、呼び出し元で一番最初のnameの引数名を用いアクセスしている!
func returnProfile() -> (name: String, age: Int, double1: Double) {
return (name: "Hinakko", age: 24, double1: 24.89)
}
var profile = returnProfile()
print(profile.name)
print(profile.age)
print(profile.double1)
出力結果
Hinakko
24
24.89
最後に紹介した戻り値に引数名をつけるアクセス方法の方が、呼び出しの際、引数名で何にアクセスしているか想像することができるので、扱いやすそうですね!
参考文献