最後にSwiftのコードを書いてから数年が経過したが、その間にSwiftUIの登場や、Windowsへの対応など、色々とアップデートがかかっていたようで、ここに来て再びSwiftでのアプリ開発への興味が再燃した。
今回からしばらく、自分の復習もかねてSwiftの基本について記事にまとめていいこうと思う。
まずはタプルの使い方について詳しくまとめてみた。
タプルとは
タプルは一つの変数に複数の値を入れることができるもので、代表的な使用例としては関数の戻り値として複数の値を返すケースなどが挙げられる。
タプルの使い方
タプルは以下のように定数や変数として宣言する。
let product = ("Swift", 2020) var kingaku = (1000, 100)
型推論により、与えられた値のデータ型に合わせて変数(定数)は作られるが、値の再代入時にデータ型が変わってしまうとエラーとなる。
// エラーになる kingaku = (1000, "100")
なお、任意の位置に対する値の代入は以下のとおり0から始まるインデックス番号を使う。
kingaku.0 = 500 kingaku.1 = 100 print(kingaku) // (500, 100)
このインデックス番号について配列と大きく違う点がある。
この番号をfor文で利用することができないのだ。
以下のコードを実行するとエラーが発生する。
// タプルだとエラー発生 for i in kingaku { print(i) } // 配列ならOK var kingaku2 = [500, 100] for i in kingaku2 { print(i) }
また、タプルの値にはラベル名をつけることもでき、こうすることでコードの保守性を高めることができる。
let kingaku = (price: 1000, tax: 100) print(kingaku.price) print(kingaku.tax)
ワイルドカード
別の変数でタプルの値を受け取る時に、一部の不要なデータを除いて受け取りたい場合がある。
このような時はワイルドカード(アンダースコア)を使うことで、必要な値のみを取り出すことができる。
let data = (1000, 100) let (price, _) = data print(price) //1000