使用let
来声明常量,使用var
来声明变量。一个常量的值,在编译的时候,并不须要有明确的值,可是你只能为它赋值一次。也就是说你能够用常量来表示这样一个值:你只须要决定一次,可是须要使用不少次。javascript
var myVariable = 42 myVariable = 50 let myConstant = 42
常量或者变量的类型必须和你赋给它们的值同样。然而,你不用明确地声明类型,声明的同时赋值的话,编译器会自动推断类型。在上面的例子中,编译器推断出myVariable
是一个整数(integer)由于它的初始值是整数。java
若是初始值没有提供足够的信息(或者没有初始值),那你须要在变量后面声明类型,用冒号分割。swift
let implicitInteger = 70 let implicitDouble = 70.0 let explicitDouble: Double = 70
练习: 建立一个常量,显式指定类型为
Float
并指定初始值为4。数组
值永远不会被隐式转换为其余类型。若是你须要把一个值转换成其余类型,请显式转换。markdown
let label = "The width is" let width = 94 let widthLabel = label + String(width)
练习: 删除最后一行中的
String
,错误提示是什么?app
有一种更简单的把值转换成字符串的方法:把值写到括号中,而且在括号以前写一个反斜杠。例如:函数
let apples = 3 let oranges = 5 let appleSummary = "I have \(apples) apples." let fruitSummary = "I have \(apples + oranges) pieces of fruit."
练习: 使用
\()
来把一个浮点计算转换成字符串,并加上某人的名字,和他打个招呼。ui
使用方括号[]
来建立数组和字典,并使用下标或者键(key)来访问元素。最后一个元素后面容许有个逗号。url
var shoppingList = ["catfish", "water", "tulips", "blue paint"] shoppingList[1] = "bottle of water" var occupations = [ "Malcolm": "Captain", "Kaylee": "Mechanic", ] occupations["Jayne"] = "Public Relations"
要建立一个空数组或者字典,使用初始化语法。spa
let emptyArray = [String]() let emptyDictionary = [String: Float]()
若是类型信息能够被推断出来,你能够用[]
和[:]
来建立空数组和空字典——就像你声明变量或者给函数传参数的时候同样。
shoppingList = [] occupations = [:]