MENU

【Swift文法】え?引数は呼び出す時に必須じゃない?

目次

Swiftの関数引数のデフォルト値としての `String? = nil` の意味

Swiftのコードにおいて、実は引数が必須でない場合もあるのです。
関数の引数にデフォルト値として String? = nil を指定することで、その引数がオプショナルであり、省略可能であることを実現できますつまり、呼び出し側でその引数が省略可能であるということです。具体的には、引数が提供されなかった場合、その引数は nil になるということです。

詳細な説明

func showList(isStudent: Bool, firstQuery: String? = nil) {}

この関数の定義について詳しく説明します。

1. 関数名と引数:

  • 関数名は `showList` です。
  • 引数は2つあります。
  • `isStudent`: 型は `Bool` です。これは省略できない必須の引数です。
  • `firstQuery`: 型は `String?`(オプショナルな `String`)です。デフォルト値が `nil` に設定されています。

2. String? = nil の意味:

  • String? は、オプショナルな `String` 型を意味します。つまり、この引数は `String` の値を持つこともできるし、`nil` になることもできます。
  • = nil は、この引数が省略された場合のデフォルト値が `nil` であることを意味します。

使い方

この関数を呼び出す際に、`firstQuery` を指定しても指定しなくてもどちらでも良いということです。

1. firstQuery を指定しない場合:

showList(isStudent: true)

この場合、firstQuerynil になります。

2. firstQuery を指定する場合:

showList(isStudent: true, firstQuery: "search term")

この場合、firstQuery"search term" という String になります。

まとめ

Swiftでは省略可能な引数を定義することができるのです!
このコードは、showList 関数において、isStudent は必須の引数で、firstQuery はオプショナルな引数であることを示しています。firstQuery が指定されなかった場合、その値はデフォルトで nil になります。これにより、関数呼び出し時の柔軟性が向上します。

年収4桁万円を達成中のiOSエンジニアが皆さんをお導きいたします!
ぜひメンターを受けてみてください〜
メンターはこちら

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Rio@iOSエンジニアのアバター Rio@iOSエンジニア 経営者兼モバイルアプリエンジニア

都内のモバイルアプリ開発会社経営者。
モバイルアプリの新規の請負開発及び保守運用を引き受ける。
Denso→Honda→現在
#RxSwift #MVVM #Firebase #Python3

コメント

コメントする

目次