Swift 在宣告變數時, 可宣告為變數或常數, 差別就在其值是否可以變動。在許多時候為了許多原因, 我們會宣告物件為不能變動的常數。
需要計算的數值類型, 通常使用變數來宣告, 而參考類型的物件, 多半用常數來宣告, 雖然常數無法改變他的值, 但可以設定屬性與呼叫方法, 所以在實際撰寫時, 也會為了減少錯誤, 而使用常數來宣告物件。
變數與常數的宣告使用兩個不同的關鍵字 var 與 let。宣告變數時, 我們使用 var, 而宣告常數時, 我們使用 let,例如宣告一個整數:
var a:Int
在這個宣告中, 我們指定變數 a 為一個 Int 型別, 尚未初始化。而宣告常數,我們就用 let
let b:Int
宣告後在使用變數或常數時, 若尚未初始化, 系統是會出錯的, 如我們試著將變數使用 print() 輸出時, 就會
var a:Int
print(a) //這一行會出現ERROR: variable 'a' used before being initialized
所以完整的寫法是:
var a:Int =100
print(a) //輸出 100
而資料型別的決定, 建議是由初始化時由系統決定, 所以比較常見的宣告方法為
var a = 1
let b = 2
而常數的宣告與變數是完全一樣的, 只是關鍵字改用 let , 試著去改值時會出錯, 如:
var a = 1
let b = 2
a = 3 //這一行沒問題
b = 4 //這一行出現 Error:canot assign to value: 'b' is a 'let' constant
而在沒有指定類型時,想知道變數為常數為什麼型態時,可以使用 type(of:)函數,例:
var c1 = 1
var c2 = "2"
print(type(of: c1)) // 輸出 Int
print(type(of:c2)) // 輸出 String
留言列表