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

Swiftの可変長引数(Variadic Parameters)とは?初心者向けにやさしく解説!

Swift 可変長引数(Variadic Parameters)の使い方
Swift 可変長引数(Variadic Parameters)の使い方

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

生徒

「Swiftで、複数の値を一つの関数に渡したいときってどうすればいいですか?」

先生

「その場合は『可変長引数(かへんちょうひきすう)』という仕組みを使いますよ。」

生徒

「可変長引数ってなんですか? むずかしそう……」

先生

「安心してください。初心者でも分かるように、簡単な例を使って説明しますね!」

1. Swiftの可変長引数(Variadic Parameters)とは?

1. Swiftの可変長引数(Variadic Parameters)とは?
1. Swiftの可変長引数(Variadic Parameters)とは?

Swift(スウィフト)の関数では、引数の数が決まっていない場合に『可変長引数』という機能を使うことができます。これは、関数に「何個でも」値を渡せる便利な書き方です。

たとえば、「1つでも2つでも10個でも数字を受け取って、合計を出す」ような関数を作るときに使います。

2. 可変長引数の書き方と基本構文

2. 可変長引数の書き方と基本構文
2. 可変長引数の書き方と基本構文

Swiftで可変長引数を使うには、引数の型の前に...(ピリオド3つ)を付けます。たとえば、整数を何個でも受け取る関数は次のように書きます。


func printNumbers(numbers: Int...) {
    for number in numbers {
        print(number)
    }
}

このようにInt...と書くと、関数を呼び出すときに何個でもIntの値を渡せます。

3. 実際に使ってみよう:数字を表示する関数

3. 実際に使ってみよう:数字を表示する関数
3. 実際に使ってみよう:数字を表示する関数

さきほど紹介したprintNumbers関数を使って、いろいろな数を渡してみましょう。


printNumbers(numbers: 1, 2, 3)
printNumbers(numbers: 10, 20)
printNumbers(numbers: 100)

このように、渡す数の個数に制限がありません。実行結果は以下のようになります。


1
2
3
10
20
100

4. 可変長引数の中身は配列になる

4. 可変長引数の中身は配列になる
4. 可変長引数の中身は配列になる

可変長引数は、関数の中では自動的に「配列(はいれつ)」として扱われます。配列とは、複数のデータをまとめて持てる箱のようなものです。

だから、for文で繰り返し処理をしたり、合計を出したりすることが簡単にできます。


func sumNumbers(numbers: Int...) -> Int {
    var total = 0
    for number in numbers {
        total += number
    }
    return total
}

この関数は、渡された数字をすべて足し算して、合計を返します。


let result = sumNumbers(numbers: 5, 10, 15)
print(result)

30

5. 可変長引数は複数指定できる?

5. 可変長引数は複数指定できる?
5. 可変長引数は複数指定できる?

可変長引数は、1つの関数の中で1回だけ使うことができます。つまり、複数の可変長引数を同時に使うことはできません。

以下のように書くとエラーになります:


func invalidFunction(a: Int..., b: Int...) {
    // これはエラーになる
}

代わりに、通常の引数と可変長引数を組み合わせて使うことは可能です。ただし、可変長引数は最後に書く必要があります。


func showInfo(name: String, scores: Int...) {
    print("名前: \(name)")
    for score in scores {
        print("点数: \(score)")
    }
}

showInfo(name: "田中", scores: 80, 90, 100)

名前: 田中
点数: 80
点数: 90
点数: 100

6. 可変長引数はどんなときに使う?

6. 可変長引数はどんなときに使う?
6. 可変長引数はどんなときに使う?

可変長引数は、以下のようなときに使うと便利です:

  • 合計や平均など、まとめて計算したいとき
  • ログ出力やメッセージ表示など、柔軟に値を受け取りたいとき
  • データの件数が決まっていないとき

たとえば、電卓アプリや成績計算プログラムなど、さまざまなアプリで活用できます。

7. Swiftの関数設計で知っておきたい注意点

7. Swiftの関数設計で知っておきたい注意点
7. Swiftの関数設計で知っておきたい注意点

初心者の方は、つい便利だからと何でもかんでも可変長引数にしてしまいがちですが、すべてに使うのはおすすめしません。

なぜなら、引数が配列になるため、型のミスや意味の分かりにくいコードになりやすいからです。設計の意図に合っている場合のみ使いましょう。

カテゴリの一覧へ
新着記事
Go言語の関数でエラーハンドリングする基本的な方法
Go言語のスライス・マップ・配列をまとめて比較してみよう!初心者でもわかる使い分けの基本
Go言語の条件分岐の見やすい書き方を徹底解説!初心者でもわかるif文の使い方
Go言語とは何か?初心者向けに特徴・できること・インストール手順までやさしく解説
人気記事
No.1
Java&Spring記事人気No1
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.2
Java&Spring記事人気No2
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.3
Java&Spring記事人気No3
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.4
Java&Spring記事人気No4
Kotlinのデータクラス(data class)とは?便利な特徴と使い方を初心者向けにやさしく解説!