Swift常量和變量
常量和變量相關聯的名稱 (如 maximumNumberOfLoginAttempts 或 welcomeMessage) 與特定類型的值 (如數字 10 或 字符串 "Hello")。常量一旦它被設定值不能被改變,而變量可以以後被設置爲不同的值。
聲明常量和變量
在使用之前常量和變量必須先聲明。 你可以使用 let 關鍵字聲明常量,使用 var 聲明變量. 下面是如何將常量和變量用於跟蹤用戶嘗試登錄次數的一個例子:
- let maximumNumberOfLoginAttempts = 10
- var currentLoginAttempt = 0
此代碼可以理解爲:
「聲明一個常量名爲 maximumNumberOfLoginAttempts, 它的給定值是 10. 然後聲明另外一個變量是 currentLoginAttempt, 給定的初始值是 0.」
在這個例子中,允許嘗試登錄的最大次數被聲明爲一個常數,因爲最大的值不可改變。 當前的登錄嘗試計數器被聲明爲一個變量,因爲該值必須在每次登錄嘗試失敗後遞增。
可以聲明多個常數或多個變量在一行上,用逗號分隔:
- var x = 0.0, y = 0.0, z = 0.0
類型註釋
當聲明一個常量或變量,可以提供一個類型註釋 type annotation,能夠清楚看到類型值的常量或變量可以存儲。通過將常量或變量名後一個冒號,後跟一個空格,然後使用類型的名稱寫入類型註釋。
這個例子提供了一個類型標註爲一個名爲welcomeMessage變量,以表示該變量可以存儲字符串 String 值:
- var welcomeMessage: String
在聲明中冒號的意思是「...類型...」,所以上面的代碼中可以讀作:
「聲明一個變量 welcomeMessage 它的類型爲 String.」
「 String的類型」這句話的意思是「可以存儲任何字符串值」。把它看成意思是「東西的類型」(或「那種類型」),可以存儲。
welcomeMessage變量現在可以設置爲不帶任何錯誤字符串值:
- welcomeMessage = "Hello"
命名常量和變量
幾乎可以使用任何你喜歡的字符常量和變量名,包括Unicode字符:
- let π = 3.14159
- let 你好 = "你好世界"
- let
輸出常量和變量
你可以用println
函數來輸出當前常量或變量的值:
println(friendlyWelcome)
// 輸出 "Bonjour!"
println
是一個用來輸出的全局函數,輸出的內容會在最後換行。如果你用 Xcode,println
將會輸出內容到「console」面板上。(另一種函數叫print
,唯一區別是在輸出內容最後不會換行。)
println
函數輸出傳入的String
值:
println("This is a string")
// 輸出 "This is a string"
與 Cocoa 裏的NSLog
函數類似的是,println
函數可以輸出更復雜的信息。這些信息可以包含當前常量和變量的值。
Swift 用字符串插值(string interpolation)的方式把常量名或者變量名當做佔位符加入到長字符串中,Swift 會用當前常量或變量的值替換這些佔位符。將常量或變量名放入圓括號中,並在開括號前使用反斜槓將其轉義:
println("The current value of friendlyWelcome is (friendlyWelcome)")
// 輸出 "The current value of friendlyWelcome is Bonjour!
注意:
字符串插值所有可用的選項,請參考字符串插值。