変数と定数

Swiftには、値を変更可能な変数と、一度値を設定したら以降の変更はできない定数があります。

変数はvarを使って宣言します。


var level = 10
// 値の変更が可能
level = 20

定数はletを使って宣言します。


let name = "孫悟空"
// 値を変更しようとするとコンパイルエラーになる
name = "ベジータ" // エラー☓

C言語やJava等は文末に「;」(セミコロン)が必要ですが、Swiftでは必要ありません。但しSwiftでも文末に「;」を書いて複数の文を1行に書く事もできます。

let name = "孫悟空"; var level = 20

また、変数や定数を「,」コンマで区切って一度に宣言することもできます。


var job = "戦士", level = 12

Swiftの変数名には、日本語や絵文字を使うこともできます。


var 戦闘力 = 1531
let per.png = "パー"
変数名として使えない文字があります。数学記号や、矢印記号、ユニコードの私用領域の文字、線や矩形描画用の文字は変数名として使用できません。また、数値は変数名の最初の文字として使用することはできません。2文字目以降であれば使用できます。
空白文字は変数名として使用できませんが、同様に全角の空白も変数名に含めることはできません。
また、Swiftの予約語を変数名として使用することはできません。変数名を「`」で囲う事で無理矢理使うことはできますが、やむを得ない事情がない限り推奨されていません。

var `while` = 10
print(`while` + 20)

Swiftの変数は型を持っています。型(String、Int等)は変数を宣言する時に指定します。


var name: String
var level: Int
name = "クリリン"
level = 10

但しSwiftには、型を自動的に推測する機能が備わっています。上でみたように型が明らかな場合は型宣言を省略することができます。


var name = "クリリン"          // 代入されている内容から型がString(文字列)なのは明らかなので、型は明示しなくてよい。
var level = 10               // この場合は型はInt(整数型)と判断されます。
var height1 = 153.0          // この場合は型はDouble(浮動小数型)と判断されます。(少数部がついた数値はデフォルトでDouble型になります。)
var height2: Float = 153.0   // 型を明示する場合は、型付きで宣言する。
var height3: Double = 150

次の様に、カンマで区切って同じ型の変数を1行で宣言することもできます。


var height, weight: Double
var name, address, email: String

変数に別の型の値を設定することはできません。


var age = 30    // Int型
// 下はエラー
age = "31"      // 文字型を代入しているのでエラーになる

println(...)print(...)を使うと、変数の中身をコンソールへ出力することができます。Playgoundの場合は、アシスタントエディタ(メニューの「View」→「Assistant Editor」→「Show Assistant Editor」で表示)へ出力されます。


var age = 30
print(age)    // 30

文字列補完を使って次の様に変数の値を文字列に含めて出力できます。


let name = "山田太郎"
var age = 30
print("名前:\(name) 年齢:\(age)歳")    // 名前:山田太郎 年齢:30歳