カテゴリ: Swift 更新日: 2025/12/19

Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本

Swift 戻り値の扱い方と複数戻り値の返し方
Swift 戻り値の扱い方と複数戻り値の返し方

先生と生徒の会話形式で理解しよう

生徒

「Swiftの関数で、何か値を返すときってどうすればいいんですか?」

先生

「それは戻り値と呼ばれるもので、関数の処理結果を返す仕組みですね。たとえば、足し算の結果を返すなど、よく使われますよ。」

生徒

「なるほど。でも戻り値って1つだけですか? もし複数の情報を返したいときは?」

先生

「いい質問です!Swiftでは複数の戻り値を返す方法もあります。それじゃあ、順番に基本から解説していきましょう。」

1. 戻り値(もどりち)とは?

1. 戻り値(もどりち)とは?
1. 戻り値(もどりち)とは?

関数の処理が終わったあと、その結果を呼び出し元に返すことを「戻り値を返す」と言います。

たとえば、2つの数を足して、その合計だけを返す関数が典型的です。

2. 単一の戻り値を返す基本構文

2. 単一の戻り値を返す基本構文
2. 単一の戻り値を返す基本構文

戻り値がある関数は、-> 戻り値の型で書きます。以下は整数型(Int)の戻り値を返す例です。


func add(a: Int, b: Int) -> Int {
    return a + b
}

let result = add(a: 3, b: 5)
print(result)

8

returnは、結果を返すためのキーワードです。

3. 戻り値の型はいろいろ使える

3. 戻り値の型はいろいろ使える
3. 戻り値の型はいろいろ使える

戻り値は、String(文字列)やDouble(小数)など、さまざまな型を使えます。


func greet(name: String) -> String {
    return "こんにちは、\(name)さん!"
}

let message = greet(name: "太郎")
print(message)

こんにちは、太郎さん!

Swiftを基礎から実践レベルまで学びたい人や、 iOSアプリ開発を本格的に始めたい人には、 定番の入門+実践書がこちらです。

Swift実践入門をAmazonで見る

※ Amazon広告リンク

4. 戻り値がない場合の書き方

4. 戻り値がない場合の書き方
4. 戻り値がない場合の書き方

値を返さない関数は、戻り値の型を省略するか、-> Voidと書きます。


func sayHello() {
    print("こんにちは!")
}

もしくは明示的にこう書いてもOKです:


func sayHello() -> Void {
    print("こんにちは!")
}

5. 複数の戻り値を返す方法(タプル)

5. 複数の戻り値を返す方法(タプル)
5. 複数の戻り値を返す方法(タプル)

Swiftでは、タプルという形を使えば、複数の値を一度に返すことができます。タプルはかんたんに言えば「複数の箱を1つにまとめたもの」です。


func getUserInfo() -> (String, Int) {
    return ("花子", 25)
}

let info = getUserInfo()
print(info.0)
print(info.1)

花子
25

info.0info.1のように、位置でアクセスできます。

6. 戻り値に名前をつけて返す

6. 戻り値に名前をつけて返す
6. 戻り値に名前をつけて返す

タプルに名前をつけると、より分かりやすくなります。


func getUserInfo() -> (name: String, age: Int) {
    return (name: "太郎", age: 30)
}

let user = getUserInfo()
print(user.name)
print(user.age)

太郎
30

このように名前をつけることで、読みやすくなり、エラーも減らしやすくなります。

7. 複数の戻り値を使う場面

7. 複数の戻り値を使う場面
7. 複数の戻り値を使う場面

例えば、テストの点数と合格・不合格の判定を同時に返すような関数では、複数の戻り値が便利です。


func checkScore(score: Int) -> (Int, String) {
    if score >= 80 {
        return (score, "合格")
    } else {
        return (score, "不合格")
    }
}

let result = checkScore(score: 75)
print("点数:\(result.0)、判定:\(result.1)")

点数:75、判定:不合格

このように、ひとつの関数で複数の情報を返すことができます。

8. 戻り値に変数を代入して再利用

8. 戻り値に変数を代入して再利用
8. 戻り値に変数を代入して再利用

戻り値を変数に入れておけば、あとから何度でも使うことができます。


func getGreeting() -> String {
    return "こんにちは!"
}

let greeting = getGreeting()
print(greeting)
print(greeting + " また会いましょう!")

こんにちは!
こんにちは! また会いましょう!

このように、一度戻り値を取り出しておけば、繰り返し使えるのも便利なポイントです。

9. 戻り値を無視して使いたいとき

9. 戻り値を無視して使いたいとき
9. 戻り値を無視して使いたいとき

関数の戻り値があるけど、必要ない場合もあります。そのときは代入せずに使ってOKです。


func getNumber() -> Int {
    return 42
}

_ = getNumber()

_ =と書くことで、「戻り値はいらないよ」という意味になります。

まとめ

まとめ
まとめ

Swiftの関数における戻り値は、ひとつの値だけでなく複数の値を返す設計ができるため、アプリ開発やデータ処理、ユーザー情報の取得、ゲームロジックの判定処理などさまざまな用途で役立ちます。とくにタプル型を用いた複数戻り値は、わかりやすい構造でデータをまとめつつ可読性を高めるため、API連携や構造化データの取得にも応用できます。戻り値はそのまま画面表示に使ったり、別の計算処理に渡したり、状態を判定する条件として利用できる点が非常に便利です。また、関数内部でprintするだけではなく、値を返して再利用することで、ロジックのテストやコードのメンテナンスが容易になります。複数の戻り値を返したいときに配列や辞書を使う方法もありますが、順番で扱うタプルは軽量で扱いやすく、戻り値の型を明確に定義できる利点があります。さらに戻り値に名前をつける記法は読みやすさを向上させ、コード量が多いアプリ開発や保守性が求められるチーム開発で大いに効果的です。たとえばユーザー情報、得点判定、サーバーからのレスポンス解析、ログイン状態とユーザーIDの返却など、複数の情報をひとまとめに扱いたい場面でそのまま活用できます。戻り値を省略できるVoid型も、ログ出力や通知送信など副作用だけを目的とした関数を作成する際に有効です。戻り値を変数として保持しておくことで画面更新に利用したり、結果をストレージへ保存したり、複数の関数間で受け渡したりすることもできます。戻り値を無視する方法として「_ =」を使うことで余計な変数を作らずにロジックを実行できます。これにより、関数をコマンドとして実行したいが結果は不要な場面に対応できます。

実用例:タプルを使ったログイン認証

複数の戻り値を使うと、ログイン処理の結果とユーザー名を同時に返せます。


func loginCheck(user: String, pass: String) -> (Bool, String) {
    if user == "hanako" && pass == "1234" {
        return (true, "ログイン成功")
    } else {
        return (false, "ユーザー名またはパスワードが違います")
    }
}

let result = loginCheck(user: "hanako", pass: "1234")
print(result.0)
print(result.1)

まとめとして意識したいポイント

  • 戻り値は処理結果を返して再利用できる
  • タプルを使うと複数の値をまとめて返せる
  • 名前付きタプルを使うと可読性が向上する
  • Void型は値を返さない関数に使われる
  • 戻り値を無視したい場合は_ =を活用する
先生と生徒の振り返り会話

生徒

「戻り値って数字や文字だけじゃなくて、複数の情報を返せるんですね!」

先生

「そのとおりです。タプルを使えばひとつの関数で複数の要素をまとめて扱えます。判定とメッセージ、名前と年齢、得点と評価などたくさん応用できますよ。」

生徒

「戻り値を変数に代入して、あとで画面に表示したり別の処理に渡したりできるのが便利ですね!」

先生

「そうです。関数はデータを整理しながら再利用するための基本なので、戻り値の扱いを理解できたのは大きな一歩ですよ。」

生徒

「次は戻り値に構造体を返したり、APIレスポンスをまとめたりする方法も学んでみたいです!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Swiftで関数の戻り値とは何を意味しますか?

Swiftにおける戻り値とは、関数が処理した結果を呼び出し元に返す値のことです。たとえば、足し算の結果やメッセージなどを関数から返すことができます。
カテゴリの一覧へ
新着記事
New1
Go言語
Go言語の短絡評価(ショートサーキット)を使った条件式の工夫をやさしく解説!初心者でも理解できる基本知識
New2
Go言語
Go言語の構造体の初期化パターンとコンストラクタ的関数の書き方を徹底解説!初心者でもわかる基本と実用例
New3
Kotlin
Kotlinの例外処理とキャンセルの連携を完全ガイド!初心者でもわかるCoroutineExceptionHandlerの使い方
New4
Go言語
Go言語のクロージャとは?関数内関数の活用例と仕組み
人気記事
No.1
Java&Spring記事人気No1
Kotlin
KotlinのChannelでデータをやり取りする方法を完全ガイド!初心者にもわかる非同期通信の基本
No.2
Java&Spring記事人気No2
Go言語
Go言語でのDB接続情報を環境変数で管理する方法|初心者でも安全に設定
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Kotlinのビルド設定エラーと解決法まとめ!初心者向けGradleトラブル対処ガイド
No.5
Java&Spring記事人気No5
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.6
Java&Spring記事人気No6
Kotlin
Kotlinでテキスト表示・編集!初心者でもわかるTextViewとEditTextの使い方
No.7
Java&Spring記事人気No7
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.8
Java&Spring記事人気No8
Kotlin
Kotlin DSLとGroovy DSLの違いをやさしく解説!初心者でもわかるGradleスクリプトの使い分け

💻 作業効率アップに

ノートPCを縦置きしてデスクを広く。
省スペースで片づく定番スタンド

UGREEN 縦型スタンドをAmazonで見る

※ Amazon広告リンク