本节书摘来自异步社区《Swift开发实战》一书中的第2章,第2.2节简单值,作者 李宁,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.2 简单值
在Swift语言中,使用关键字“let”来声明常量,使用关键字“var”来声明变量。对于一个Swift常量值来说,在编译时并不需要有一个明确的值,但是只能为这个常量赋值一次。也就是说,可以用常量来表示一个只需要决定一次但是需要使用很多次的值。例如,在本章前面的实例2-1中,如下都是声明常量值的实现代码。
var value=123;
var i:Int = 0;
var num=0;
常量或者变量的类型必须和赋给它们的值一样,在进行声明操作时,可以选择常量和变量的类型。如果在声明的同时进行赋值操作,那么编译器会自动推断类型。例如,在下面的代码中,因为myVariable的初始值是整数,所以编译器会推断出myVariable是一个整数(integer)。
var myVariable = 42
myVariable = 50
let myConstant = 42
如果初始值没有提供足够的信息(或者没有初始值),那么需要在变量后面声明其类型,并且用冒号进行分隔。例如,下面所示的演示代码。
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)
在Swift语言中,还有一种把值转换成字符串的更简单的方法:把值写到括号中,并且在括号之前写一个反斜杠。例如,下面所示的演示代码。
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
在Swift语言中,可以使用方括号[]来创建数组和字典,并使用下标或者键(key)来访问元素。例如,下面所示的演示代码。
var shoppingList = ["catfish", "water", "tulips", "blue paint"]
shoppingList[1] = "bottle of water"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
在Swift语言中,要创建一个空数组或者字典,需要使用初始化语法。例如,下面所示的演示代码。
let emptyArray = String[]()
let emptyDictionary = Dictionary<String, Float>()
如果可以在Swift语言中推断出类型的信息,就可以用[]和[:]来创建空数组和空字典,就像声明变量或者给函数传参数的时候一样。例如,下面所示的演示代码。
shoppingList = [] // 去逛街并买点儿东西