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