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

arrow
arrow

    shenfive 發表在 痞客邦 留言(0) 人氣()