変数に対して、定数というのは決まった値のことをいうよ。
簡単に言うと、変数は何回でも代入できるけど、定数は一度しか代入できないよ。(Javaでいうfinal修飾子だね)
Swiftで定数を定義・宣言する
型を明示する
1 2 |
let str: String let num: Int |
暗黙的に型を決定する
1 2 |
let str2 = "hoge" let num2 = 2 |
型を明示して初期化する
1 2 |
let str3: String = "fuga" let num3: Int = 13 |
以上は、意味合い的に変数となんら変わらないので、ここらへんわからない人は変数の記事を先に読んでくれ。
エラーになる場合
初期化した定数に代入
1 2 3 4 5 |
let str = "hoge" let num = 2 str = "fuga" // エラー num = 13 // エラー |
こんな感じで定数を宣言・初期化してるのに代入しようとするとエラーになるよ。
おまけ
1 2 3 4 5 6 7 8 |
let str: String let num: Int str = "hoge" num = 2 str = "huga" // エラー num = 13 // エラー |
勘違いする人がいるかもなので補足だけど、あくまで最初の1回の代入は許されるので、このパターンでは2回目の代入でエラーになるよ。
Swift2以降くらいから、値を代入していないものにvarを使うとかなり強めに警告がでるので、Swiftをやる際には定数にはletを使う癖をつけよう。