5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

戻り値が複数ある関数をタプル型で返す方法を理解しよう!

Posted at

タプル型(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

最後に紹介した戻り値に引数名をつけるアクセス方法の方が、呼び出しの際、引数名で何にアクセスしているか想像することができるので、扱いやすそうですね!

参考文献

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?