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