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

Swift 引数の渡し方とラベル指定のルール|初心者向けにやさしく解説

Swift 引数の渡し方とラベル指定のルール
Swift 引数の渡し方とラベル指定のルール

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

生徒

「Swiftで関数にデータを渡したいんですが、呼び出すときに名前を付けたりするのが難しいです…」

先生

「Swiftでは、関数の引数に『ラベル』を付けて、どの値が何を意味しているのか分かりやすくすることができます。これはSwiftの特徴のひとつです。」

生徒

「ラベルって何のためにあるんですか? 書き方にルールがあるのも気になります…」

先生

「それじゃあ、Swiftの引数の渡し方とラベル指定について、基本からやさしく説明していきましょう!」

1. Swiftの引数とは?

1. Swiftの引数とは?
1. Swiftの引数とは?

関数にデータを渡すときの値を引数(ひきすう)と呼びます。たとえば、名前を使ってあいさつする場合、その「名前」が引数です。

引数を使えば、関数をもっと自由に、いろいろな場面で使えるようになります。

2. 基本的な引数の渡し方

2. 基本的な引数の渡し方
2. 基本的な引数の渡し方

Swiftでは、関数に引数を渡すときに、ラベルを使うのが一般的です。以下は基本的な書き方です。


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

greet(name: "太郎")

この例では、nameが引数名で、呼び出すときにもname:というラベルを付けています。

3. 引数ラベルとは?

3. 引数ラベルとは?
3. 引数ラベルとは?

Swiftの関数では、引数にラベル引数名の2つを設定できます。


func greet(名前 name: String) {
    print("こんにちは、\(name)さん!")
}

greet(名前: "花子")

このように、ラベル(外部名)変数名(内部名)を分けて定義することで、呼び出す側からは意味がより明確になります。

ラベル:関数を使う人向けの名前
引数名:関数の中で使う名前

4. ラベルを省略したいときは?

4. ラベルを省略したいときは?
4. ラベルを省略したいときは?

ラベルを使いたくないときは、アンダースコア(_)を使います。


func greet(_ name: String) {
    print("こんにちは、\(name)さん!")
}

greet("太郎")

この書き方にすると、呼び出すときにname:のようなラベルを省略できます。

5. 複数の引数を使う場合

5. 複数の引数を使う場合
5. 複数の引数を使う場合

引数が複数ある関数でも、ラベルは柔軟に使えます。


func introduce(名前 name: String, 年齢 age: Int) {
    print("私は\(name)です。年齢は\(age)歳です。")
}

introduce(名前: "太郎", 年齢: 18)

それぞれの引数にわかりやすいラベルをつけることで、どんな値を渡しているかが一目で分かります。

6. ラベルと引数名が同じ場合

6. ラベルと引数名が同じ場合
6. ラベルと引数名が同じ場合

ラベルと引数名が同じ場合は、以下のように省略して書くこともできます。


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

このとき、呼び出し側ではname:を指定する必要があります。


greet(name: "花子")

7. ラベルの使い分けのポイント

7. ラベルの使い分けのポイント
7. ラベルの使い分けのポイント

Swiftでは、以下のように使い分けをすると分かりやすくなります。

  • 外部ラベル:関数の使い方を説明する役割
  • 内部引数名:関数内の処理で使う変数名

たとえば、from:to:のように意味をはっきり伝えるラベルは、読みやすさにとても効果的です。


func move(from start: String, to end: String) {
    print("\(start)から\(end)へ移動します")
}

move(from: "東京", to: "大阪")

東京から大阪へ移動します

8. ラベルのない関数が向いているケース

8. ラベルのない関数が向いているケース
8. ラベルのない関数が向いているケース

関数の意味が直感的で、引数が1〜2個だけのときは、ラベルを省略しても読みやすくなる場合があります。


func printMessage(_ message: String) {
    print("メッセージ:\(message)")
}

printMessage("こんにちは")

メッセージ:こんにちは

このように、文のように自然に読める関数にしたい場合は、ラベルを省略するのもひとつのテクニックです。

9. Swiftの引数とラベルに関する注意点

9. Swiftの引数とラベルに関する注意点
9. Swiftの引数とラベルに関する注意点

Swiftでは、関数を定義するときに、ラベルがあるかないかによってまったく別の関数として扱われます。


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

func greet(_ name: String) {
    print("やあ、\(name)!")
}

このように、同じ引数でもラベルの有無が違えば、別の関数として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)とは?便利な特徴と使い方を初心者向けにやさしく解説!