Swiftのreturn文の使い方と複数の値を返す方法|初心者向け完全ガイド
生徒
「Swiftの関数で使うreturnって、何をするものなんですか?」
先生
「returnは、関数の実行結果を返すための命令ですよ。関数の最後に、答えを渡すような役割ですね。」
生徒
「じゃあ、ひとつしか返せないんですか? たとえば計算結果と文字も一緒に返したいときは?」
先生
「いい質問ですね。それには、複数の値をまとめて返す方法があるんです。具体的なやり方を見ていきましょう!」
1. Swiftのreturnとは?
Swiftのreturnは、関数の中で計算した結果を関数の外に渡すための命令です。簡単に言うと、「この答えを渡します」と宣言するようなものです。
たとえば、「リンゴを数える関数」があったとすると、returnは「数えたリンゴの数」を渡してくれます。
2. returnの基本的な使い方
returnの使い方はとてもシンプルです。関数の最後にreturn 値と書くだけで、その値が外に返されます。
func greet() -> String {
return "こんにちは"
}
この関数を呼び出すと、「こんにちは」という文字列が返ってきます。
こんにちは
3. 数値を返す関数の例
今度は、2つの数を足してその合計を返す関数を作ってみましょう。
func add(a: Int, b: Int) -> Int {
return a + b
}
この関数は、引数として渡されたaとbを足して、その合計を返します。たとえばadd(a: 3, b: 5)なら8が返ります。
8
4. returnしない関数
関数の中でreturnを使わない場合もあります。それは、「何も返さない関数」です。たとえば、ただ文字を表示するだけの関数です。
func sayHello() {
print("やあ!")
}
この関数は画面に「やあ!」と表示するだけで、値は返しません。戻り値の型も省略されており、()(ボイド)になります。
5. returnで複数の値を返すには?
Swiftでは、タプルという機能を使って、複数の値を1つにまとめて返すことができます。タプルとは、「セットになったデータ」のことです。
func getUserInfo() -> (String, Int) {
return ("田中", 30)
}
この関数は、「名前」と「年齢」をセットで返します。
let info = getUserInfo()
print(info.0) // 名前
print(info.1) // 年齢
田中
30
6. タプルに名前をつけて読みやすくする
先ほどのinfo.0のような数字でアクセスするのは、初心者には分かりづらいかもしれません。そんなときは、タプルに名前をつけると読みやすくなります。
func getUserInfo() -> (name: String, age: Int) {
return (name: "田中", age: 30)
}
このように名前をつけると、次のようにアクセスできます。
let info = getUserInfo()
print(info.name)
print(info.age)
田中
30
こうすることで、どの値が何を意味しているかが一目で分かるようになります。
7. タプルの中身を分けて受け取る
タプルで返された複数の値は、同時に複数の変数で受け取ることもできます。
let (name, age) = getUserInfo()
print(name)
print(age)
田中
30
このようにすれば、変数名も短くシンプルにできます。
8. returnの注意点
returnを使うときのポイントは、「関数はreturnが実行された時点で終わる」ということです。returnの後に書かれたコードは実行されません。
func example() -> String {
return "最初の値"
print("これは実行されません")
}
このように、returnの後に書いても意味がないので注意しましょう。
9. 覚えておきたいこと
- returnは関数の結果を返す命令
- 値を返さない関数もある(戻り値なし)
- 複数の値を返したいときはタプルを使う
- タプルには名前をつけると読みやすい
これらを覚えておくだけで、Swiftでの関数の理解がぐっと深まりますよ。
まとめ
Swiftのreturn文は、関数の中で計算した結果や処理した値を外に渡すためのとても大切な仕組みであり、関数を理解する上で欠かせない基礎となります。今回の記事では、returnの基本的な使い方から、数値や文字列を返す関数、複数の値を返すためのタプルの扱い方、タプルに名前をつけて読みやすくする方法、さらには値を返さない関数との違いなど、初心者がつまずきやすいポイントを丁寧に整理しました。Swiftのreturnは単に「結果を返す」だけでなく、関数の終了を明確に示す役割も担っているため、処理の流れを理解する上でもとても重要です。 特に、複数の値を返すタプルはSwiftらしい便利な機能であり、ユーザー情報のように「名前と年齢」「ステータスとメッセージ」のように複数のデータを一度に扱いたい場合に非常に役立ちます。タプルに名前をつけることで、info.name・info.age のように読みやすくアクセスでき、関数の戻り値を扱う際の可読性が飛躍的に向上します。さらに、複数の変数として同時に受け取る構文も直感的で、Swiftの柔軟さを感じられる部分でもあります。 また、return文は実行された瞬間に関数が終了するため、後ろに書かれたコードは実行されないという性質を理解しておくことが大切です。これは初心者がよく見落としがちな点であり、意図せず処理が途中で終わってしまう原因にもなります。今回の内容をしっかり理解しておくことで、関数の設計や処理の流れを明確に把握しやすくなり、Swiftを使ったアプリ開発をよりスムーズに進められるようになります。 以下には、return文とタプルを組み合わせたサンプルプログラムを載せています。実際に動かしながら理解を深めることで、return文がどのように動作し、どの場面でどんな使い方ができるのかが具体的にイメージしやすくなるはずです。
サンプルプログラム(returnとタプルの実践例)
// 商品の価格計算とステータスメッセージを返す関数
func calculatePrice(count: Int, price: Int) -> (total: Int, message: String) {
if count <= 0 {
return (0, "個数が正しくありません")
}
let totalPrice = count * price
if totalPrice > 5000 {
return (totalPrice, "合計金額が五千円を超えました")
}
return (totalPrice, "計算が正常に完了しました")
}
// 関数の呼び出し例
let result = calculatePrice(count: 3, price: 1200)
print(result.total)
print(result.message)
この例では、個数と単価を入力すると、合計金額とメッセージの2つをタプルで返しています。タプルに名前をつけることで、result.total や result.message といった形でわかりやすく値にアクセスできています。関数の中で条件に応じてreturnを使い分けることで、柔軟に結果を返す設計ができるのもSwiftの魅力のひとつです。 returnを正しく理解すると、関数を使った処理がぐっと分かりやすくなり、プログラム全体の見通しも良くなります。これからSwiftを学び続ける上でも、関数とreturnの仕組みは何度も登場するため、今回の内容をしっかり押さえておくことが大きな力になります。
生徒
「returnってただ結果を返すだけじゃなくて、関数がそこで終わるっていう意味もあるって知って驚きました!」
先生
「そうだね。returnが実行されたら、それ以降の処理はもう動かないんだ。これは関数の流れを考えるうえでとても大事なポイントだよ。」
生徒
「タプルで複数の値を返せるのもすごく便利ですね。名前付きにすると見やすくて分かりやすかったです!」
先生
「その通り。Swiftのタプルは柔軟で扱いやすいから、結果をいくつかまとめて返したいときにぴったりなんだよ。」
生徒
「複数の変数で同時に受け取れるのも気に入りました!コードが簡潔で見やすくなりますね。」
先生
「どんどん慣れていけば、関数の設計がますます楽しくなるよ。returnを自在に使いこなせるようになることが大きな一歩なんだ。」