読者です 読者をやめる 読者になる 読者になる

【Swift】 関数の引数と戻り値の話

ios iOSエンジニア育成計画 swift

なんで関数の引数と戻り値が気になったのかというと、以下の記事の説明が微妙に曖昧だったから。

qiita.com


Swiftでは複数の戻り値を一度にreturnできる

というのは、要はTupleで返ってきてるってことだよなーと思った。

ちなみに、Tupleについて詳しく説明されているものがなかったので説明は割愛します。


んで、色々調べていたら関数についていい記事があった。コードも交えて説明されているのでわかりやすかった。

dev.classmethod.jp


上の記事を読んで、個人的に参考になったのは以下のようなこと。

  • 戻り値を返さないと定義された関数も、実際には空タプルを返している
  • 単一の要素を持つTuple (T) 型は T 型とみなされる
  • Swift においては全ての戻り値がタプルとして扱われている(推測)
  • パラメータの数が0個として定義された関数は、空のTupleを引数として受け取るようになっている
  • Swift においては、戻り値と同様に全ての関数が何らかの引数を取ることになる


要は、記事のまとめにも書いてあるが以下のようなこと。

  • Swift の関数は、必ず何らかの引数を取り、何らかの戻り値を返す

  • 引数と戻り値のほとんどはタプルで構成されており、そうでないものもタプルと互換性があるような仕組みになっている


公式のドキュメントにも同じような話が載ってるっぽい。合わせて読んでみるといいかも。

developer.apple.com

まとめ

こーゆー細かいことが気になってしまうお年頃なのです。