1、在实际编译时,Swift 编译器会优化字符串的使用,使实际的复制只发生在绝对必要的情况下,这意味着您将字符串作为值类型的同时可以获得极高的性能。
3、通过标明一个Character类型注解并通过字符字面量进行赋值,可以建立一个独立的字符常量或变量:
let yenSign: Character = "¥"
4、计算字符数量
5、前缀/后缀
6、数组操作
7、利用全局函数enumerate遍历,可获得下标
8、初始化指定大小数组的方式:
9、字典update返回String?
10、字典元素移除,同removeValueForKey
11、字典的键转为数组,不能没有Array
12、在后台,Swift 的数组和字典都是由泛型集合来实现的,想了解更多泛型和集合信息请参见泛型。
2、for character in "Dog!" {
println(character)
} // D // o // g // !
3、通过标明一个Character类型注解并通过字符字面量进行赋值,可以建立一个独立的字符常量或变量:
let yenSign: Character = "¥"
4、计算字符数量
let unusualMenagerie = "Koala , Snail , Penguin , Dromedary "
println("unusualMenagerie has \(countElements(unusualMenagerie)) characters") // 打印输出:"unusualMenagerie has 36 characters
5、前缀/后缀
是否有前缀:scene.hasSuffix("Capulet's mansion")
是否有后缀:scene.hasSuffix("Friar Lawrence's cell")
6、数组操作
根据索引新增元素:shoppingList.insert("Maple Syrup", atIndex: 1)
对应删除:let mapleSyrup = shoppingList.removeAtIndex(1)
移除最后一项:let apples = shoppingList.removeLast()
7、利用全局函数enumerate遍历,可获得下标
for (index, value) in enumerate(shoppingList) {
println("Item \(index + 1): \(value)")
}
8、初始化指定大小数组的方式:
var threeDoubles = Double[](count: 3, repeatedValue:0.0) // threeDoubles 是一种 Double[]数组, 等于 [0.0, 0.0, 0.0]
var anotherThreeDoubles = Array(count: 3, repeatedValue: 2.5) // anotherThreeDoubles is inferred as Double[], and equals [2.5, 2.5, 2.5]
9、字典update返回String?
if let oldValue = airports.updateValue("Dublin Internation", forKey: "DUB")
{
println("The old value for DUB was \(oldValue).====dic\(airports)")
}
10、字典元素移除,同removeValueForKey
airports["APL"] = nil // APL现在被移除了
11、字典的键转为数组,不能没有Array
let airportCodes = Array(airports.keys)
12、在后台,Swift 的数组和字典都是由泛型集合来实现的,想了解更多泛型和集合信息请参见泛型。
13、不可变字典的内容在被首次设定之后不能更改。不可变行对数组来说有一点不同,当然我们不能试着改变任何不可变数组的大小,但是我们·可以重新设定相对现存索引所对应的值。在我们不需要改变数组大小的时候创建不可变数组是很好的习惯。如此 Swift 编译器可以优化我们创建的集合。
2014年07月02日