swift使用 let 声明一个常量,使用var声明一个变量。在编译的时候并不需要知道常量的值,但是你必须给它一次赋值。就是说你只需赋值一次,就可以在很多地方使用这个值。
var myVariable = 42
myVariable = 50
let myConstant = 42
当你给一个常量或者变量赋值的时候,必须赋给他匹配类型的值。而且,你不需要总是表明它的具体类型。赋值给一个你创建的常量或变量时,编译器会自动识别它的类型。在上面的例子中,编译器识别出myVariable是一个整型因为它的初始值就是一个整型。
如果初始值不能具体表明是什么类型(或者根本没有初始值),可以写出这个变量或常量的类型在名字后面用分号隔开。
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble:Double = 70
swift中并不会自动转换类型,如果你需要转换的话,明确表明你想转成什么类型
let label = "The width is"
let width = 94
let widthLabel = label + String(width)
有个更简单的方法去嵌入字符串中,把变量或常量用括号括起来前面加上一个反斜杠\,比如
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "T have \(apples + oranges) pieces of fruit."
创建一个数组或者字典的时候使用[],访问它们的元素的时候在[]里面写入具体的下标和key值。[]内一个元素和下一个元素之间使用逗号区分,如下所示
var shoppingList = ["catfish","water","tulips","blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [
"malcolm": "Captain",
"Kaylee":"Mechnic",
] //最后一个逗号去不去都可以
occupations["Jayne"] = "Public Relations"
创建一个空数组或者空字典的话,用初始化语法[类型]()
let emptyArray = [String]()
let emptyDictionary = [String:Float]()
也可以省去声明类型,数组直接用[],字典直接用[:]-比如,你想给一个变量重新赋值,或者给一个方法传入一个参数
shoppingList = []
occupations = [:]