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

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は認識します。

まとめ

まとめ
まとめ

Swiftの関数における引数とラベルの仕組みは、読みやすく理解しやすいコードを書くために欠かせない重要な要素です。この記事で学んだように、引数ラベルは関数を使う側にとって分かりやすさを高め、内部引数名は関数の中で処理を行うために使う名前として役立ちます。特にSwiftでは、ラベルの有無が異なるだけで別の関数として扱われるため、名前の付け方がコード全体の構成や扱いやすさに直結します。 引数ラベルの基本的な使い方から、アンダースコアを使って省略するパターン、複数の引数にわかりやすいラベルを付ける方法、そしてラベル付きとラベルなしの関数が同時に存在できることなど、細かい仕様を理解することで、より意図が伝わる自然なコードを書けるようになります。 また、Swiftでは関数の呼び出しが文章のように読みやすくなることを重視しているため、ラベルの付け方を工夫することでコードの見通しが大きく向上します。特に初心者の段階では、自然な文章のように読める関数名にするだけで理解しやすさが格段に増すため、実践的なスキルとして習得しておくと後々の開発で非常に役立ちます。 以下には今回の知識を活かしたシンプルなサンプルプログラムを掲載しています。復習として読み返したり、自分で書き換えながら試してみることで、Swiftのラベルと引数の仕組みがさらに深く理解できるようになるでしょう。

サンプルプログラム(復習用)


func sendMessage(宛先 to: String, 内容 message: String) {
    print("\(to)さんへメッセージを送信します:『\(message)』")
}

sendMessage(宛先: "花子", 内容: "おはようございます!")

func sendMessage(_ message: String) {
    print("メッセージ送信:『\(message)』")
}

sendMessage("遅れます、すみません!")

このプログラムでは、意味が分かりやすいラベルを使った関数と、ラベルを省略して文章のように読める関数の2種類を示しています。用途に応じてラベルを工夫することで、Swiftの関数呼び出しは自然な日本語の文のように読みやすくなります。 大規模なコードになればなるほど、ラベルの付け方が全体の可読性を左右するため、今回の内容は開発を続ける上でとても重要な基礎になります。複数の引数を持つ場合でも、送り手、受け手、開始位置、終了位置などの意味がすぐに理解できるラベルを付けることで、コードのメンテナンス性が高まり、チーム開発でも伝わりやすい関数を作れます。 さらに、Swiftではラベルの有無が関数を区別する要素になるため、同じ名前でも異なる目的の関数を柔軟に作ることができます。関数を使う場面が増えていくと、この仕様が非常に便利であることが実感できるでしょう。自然な文章のように読める関数を設計する力は、Swiftプログラミングを続ける上での強力な武器になります。

先生と生徒の振り返り会話

生徒:「先生、引数ラベルってただ名前の違いだけだと思っていたんですが、読みやすさを左右する大事な仕組みなんですね!」

先生:「そうですね。Swiftではコードを自然な文章のように書けるのが特徴なので、ラベルの付け方ひとつで関数がとても分かりやすくなりますよ。」

生徒:「ラベルと内部名が別にできるのも便利でした。呼び出し側は意味が分かりやすくて、関数の中では扱いやすい名前にできますね。」

先生:「そのとおりです。外部と内部に役割を分けられるからこそ、柔軟で読みやすいコードが書けるんです。」

生徒:「ラベルが違うだけで別の関数になるというルールも驚きました。便利だけど気をつけないと混乱しそうですが、慣れれば使い分けができそうです!」

先生:「確かに最初は戸惑うかもしれませんが、コツをつかめばとても強力な仕組みですよ。使い方を考える習慣ができれば、より洗練されたSwiftのコードが書けるようになります。」

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

Swift実践入門をAmazonで見る

※ Amazon広告リンク

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

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

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

Swiftで関数に引数を渡すとはどういう意味ですか?

Swiftで関数に引数を渡すとは、関数を呼び出すときに外部からデータを入力することを意味します。これにより、関数の処理を柔軟に変更できます。
関連セミナーのご案内

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

Windowsで始めるiPhoneアプリ開発入門|Swiftの基本と仕組みを1時間で攻略

「iPhoneアプリを作りたいけれど、Macを持っていないから諦めている」そんな方のための画期的な入門講座です。実は、プログラミングの本質を学ぶのに高価な機材は必要ありません。本講座では、Windowsパソコンを使用し、クラウド環境を活用してAppleの最新言語Swift(スウィフト)の基礎を最短距離でマスターします。

Windowsで実現する開発環境

【つくるもの】
ブラウザ上で動作する「スマート・計算ツール」や「データ判定プログラム」をゼロから作成します。変数の扱いや条件分岐など、iPhoneアプリの内部で動くロジックを自分の手で構築する感動を体験してください。

【開発環境】
ブラウザだけでSwiftが動くプロ仕様のオンラインエディタ(Replit等)を使用します。面倒な設定は一切不要。今あるWindows PCで、プロのエンジニアと同じコードを書き始められます。

この60分で得られる3つの理解

1. WindowsでのSwift実行環境の作り方

OSの壁を越え、クラウドを活用してスマートに学習を開始する「現代的な開発スタイル」を習得します。

2. Swiftの基本構造(変数・型・定数)

iPhoneアプリ特有のデータの扱い方や、Appleが推奨する「安全で美しいコード」の書き方を学びます。

3. アプリエンジニアとしてのロードマップ

将来的にiOSエンジニアとして副業・転職するために必要な準備や、Mac選びのポイントを伝授します。

※本講座は、将来的にiPhoneアプリ開発で収益化や転職を目指したい未経験者のためのエントリー講座です。マンツーマン形式により、Windows環境ならではの疑問にもその場でお答えし、あなたの理解度に合わせて進行します。

セミナー画像

Windowsで始めるiPhoneアプリ開発入門

カテゴリの一覧へ
新着記事
New1
Go言語
Go言語のwhile的なforループの使い方!条件式ループの基本を解説
New2
Go言語
Go言語プログラムの実行方法まとめ!VSCode・ターミナルでの実行手順を解説
New3
Swift
Swift意味とは?プログラミング言語・金融・鳥の違いを徹底解説
New4
Swift
Swift 戻り値の扱い方と複数戻り値の返し方|初心者でも分かる関数の基本
人気記事
No.1
Java&Spring記事人気No1
Go言語
Go言語でリダイレクト処理を行う方法(http.Redirect)を初心者向けに解説
No.2
Java&Spring記事人気No2
Swift
Swift開発環境の構築方法を徹底解説!Xcode・Windows・Linux対応
No.3
Java&Spring記事人気No3
Kotlin
Android Studioのインストール手順と初期設定を初心者向けに完全解説!
No.4
Java&Spring記事人気No4
Kotlin
Gradleファイル(build.gradle.kts)の書き方と役割をやさしく解説!Kotlin初心者向け完全ガイド
No.5
Java&Spring記事人気No5
Go言語
Go言語のgo.modファイル完全ガイド!初心者でもわかる仕組みと書き方
No.6
Java&Spring記事人気No6
Swift
Swift Playgroundの使い方を完全解説!初心者に最適な学習環境の始め方
No.7
Java&Spring記事人気No7
Go言語
Go言語で条件式を1行で書くコツ!三項演算子の代替と短縮記法
No.8
Java&Spring記事人気No8
Kotlin
Kotlinの演算子一覧と使い方!算術・比較・論理演算子の基本を解説