Swift使用let關鍵字聲明常量,var關鍵字聲明變量。常量無需在編譯時指定,但至少要被賦值一次。也就是說,賦值一次多次使用:
1 var myVariable = 42 2 myVariable = 50 3 let myConstant = 42
這里的常量賦值之后值不能更改,應該提高重用性。
一個常量或變量的值與類型必須是一致的。不過,你不需要指明它的類型,因為編譯器會根據你所賦的值推斷它的類型,在上面的例子中,編譯器會判斷到myVariable是一個整型(integer),因為它的初始值是一個整數。
如果初始值的信息不夠明確(以至於類型不好判斷),可以在變量名后用冒號寫明類型:
1 let implicitInteger = 70 2 let implicitDouble = 70.0 3 let explicitDouble: Double = 70
練習:
創建一個常量,類型為Float,值為4。
let implicitFloat: Float = 70
值永遠不會隱含轉換到其他類型。如果你需要轉換一個值到其它不同類型,明確的構造一個所需類型的實例。
let label = "The width is " let width = 94 let widthLabel = label + String(width)
練習:
試着刪除String方法,你會得到什么錯誤?
還有一種更簡單的字符串中含值的方式:把值放在小括號里面,並以反斜線開頭,如:
let apples = 3 let oranges = 5 let appleSummary = "I have \(apples) apples." let fruitSummary = "I have \(apples + oranges) pieces of fruit.
練習:
使用 \() 來包含一個浮點數計算到字符串,並包含某人的名字來問候。
let pie:Double = 3.14
let pin:Double = 3.15
let greetPie = "hello,\(pie + pin)"
用[]創建數組或字典,並使用下標或鍵名訪問:
1 “var shoppingList = ["catfish", "water", "tulips", "blue paint"] 2 shoppingList[1] = "bottle of water" 3 4 var occupations = [ 5 "Malcolm": "Captain", 6 "Kaylee": "Mechanic", 7 ] 8 occupations["Jayne"] = "Public Relations”
創建一個空數組或字典,使用初始化賦值語句:
1 “let emptyArray = String[]() 2 let emptyDictionary = Dictionary<String, Float>()”
如果類型信息無法推斷,你可以寫空的數組-- "[]" 或空的字典--"[:]",例如你為變量賦新值或為函數傳參:
shoppingList = [] //Went shopping and bought everything.
Swifter-QQ群:362232993,同好者進~
github地址:https://github.com/Joejo/Swift-lesson-for-chinese