ここまでのプログラムでは、変数や定数に「りんご」「バナナ」などのような文字列(文字の値)を代入したり、参照したりしていました。プログラムではもちろん、文字列だけを扱うわけではありません。
例えば、商品の値段には「100」「200」といった「整数」の値を使います。このような値の種類のことを「型」と呼びます。
それでは、Swiftで使う基本的な型を見ていきましょう。
文字列型は、これまで扱ってきたような文字を扱う型です。Swiftでは「String(ストリング)型」と呼びます。アプリの画面上に表示するメッセージなどに使います。
let メッセージ = "こんにちは"
整数型は、整数のみを扱う型です。Swiftでは「Int(イント)型」と呼びます。商品の値段やゲームのスコア(点数)などに使います。ちなみに、Intは整数を表す英単語「Integer(インテジャー)」が省略されたものです。
let 価格 = 100
浮動小数点型は、小数点を含む数を扱う型です。Swiftでは「Double(ダブル)型」「Float(フロート)型」と呼びます(2つの型は入れることのできる最小値・最大値が異なります)。地図の座標(緯度、経度)や温度などのような、小数点が含まれる細かい数に使います。
let 緯度 = 35.697239 let 円周率 = 3.14159
ブーリアン型は、真か偽のどちらかを扱う型で、「フラグ」や「2値」などとも呼びます。Swiftでは「Bool(ブール)型」と呼び、「true」または「false」のどちらかの値しか代入することができません。スイッチのオン/オフのような「2つのうちのどちらか」という状態を表現したいときに使います。ちなみに、Boolは英単語「Boolean(ブーリアン)」が省略されたものです。
let 今日の天気は晴れ = true let 今日の天気は雨 = false
Swiftでは、定数(変数)を宣言するときに必ず型を指定しなければいけません。まずは、次のプログラムを書いてみましょう。
let あいさつ: String = "こんにちは"
このように、型を指定するには定数(変数)の名前の後に続けて「: 型の名前」を書きます。上記で紹介した型を使うのであれば、「: Int」や「: Bool」などといったように書きます。
let 所持金: Int = 10000 let 今日の天気は晴れ: Bool = true
さて、ここで一つ疑問が出てきます。なぜ今までは「: String」を書いていないのに、文字列(つまりString型の値)と判断されていたのでしょうか? その理由は、定数(変数)の宣言と同時にString型の値を代入しているからです。
let くだもの = "りんご"
上記のプログラムでは、定数の宣言と同時に「りんご」という文字列を代入しています。そのため、Playground(Xcode)が「文字列が代入されているから、この定数をおそらくString型として使いたいんだな」と自動で判断してくれます。
このように、プログラムの文脈から型を推測してくれる機能のことを「型推論」と言います。型推論は、String型だけではなく、全ての型で有効です。
型の指定は宣言時のみ可能で、後から変更することはできません。また、型が指定された定数(変数)に対して異なる型の値は代入できません。例えば、次のプログラムはDouble型の変数にString型の値を代入しようとしているため、エラーが発生します。
var 気温 = 24.5 気温 = "24度5分"
これはつまり、どのような状況でも定数(変数)は宣言されたときに決まった型として扱われるということです。
いくつかの型を見てきましたが、これらの型の値は文字列に混ぜて、1つの文字列にすることができます。まずは、次のプログラムを書いてみましょう。
let 値段 = 100 println("イチゴは\(値段)円です")
※「\」は、「alt」キーを押しながら「\」キーを押すと入力できます。
結果画面を見てみると、「イチゴは100円です」と表示されていると思います。これは、「値段」の値が「イチゴは〜円です」という文字の中に混ざり込んだからです。このように、文字列(つまりString型の値)の中に「\(値)」を含めることで、1つの文字列にすることができます。
プログラムの中には「コメント」と呼ばれる、メモ書きを含めることができます。コメントはプログラムとして処理されないため、プログラムの間にちょっとしたメモを残すことができます。始めに「//」を書くことで、それ以降に書かれた文章はコメントと見なされます。なお、プログラムが書かれている行の最後にも入れることができます。
// コメントです let お礼の言葉 = "ありがとう" // コメントです
上記の方法では一行しか書くことができませんが、「/*」と「*/」で囲うことで、複数の行をコメント化することができます。
/* この行はコメントです。 複数の行でコメントを書くことができます。 この行もコメントです。 */
特にプログラムの学び始めでは、後でプログラムを見返したときに「ここはどういう意味だっけ?」と忘れてしまうことがあります。そういったときにもすぐに思い出せるように、自分が理解できる文章でコメントを残しておくといいでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.