您的位置:首页 > 移动开发 > Swift

Swift 基本运算符和集合类型

2015-09-17 09:16 302 查看
swift 支持大部分C语言的运算符, 其中有所改动的有取余运算符(%),可以对浮点数进行取余运算. 还增加了C中没有的表示在两数之间的区间运算符( … ).

且改进许多运算符的特性减少编码错误.

<一>运算符

1.在赋值运算符中如果符号的右边是一个多元组, 它的元素可以马上被分解为多个变量或常量

2.区间运算符: 闭区间运算符为 “… ” 3…6 从3到6之间的值包含3和6

半闭区间:半闭区间 a..b定义一个从a到b但不包括b的区间,即包含第一个值但是不包含最后一个值

3. 判断字符串是否为空可以写为 字符串.isEmpty判断返回的布尔值

let name = "zhang san"
countElements(name)


4.字符串比较 : 依然用函数hasPrefix 和 hasSuffix来比较前缀相等和后缀相等, 相等可以使用 == 来判断

5.修改字符串的大小写: 使用函数uppercaseString 改为大写和 lowercaseString改为小写

<二>数组

构建一个空数组

var someInts = [Int] ()
或 var someInts = Int [] ()


2.swift 还提供了一种指定数组大小和设置默认值的的初始化方法

var array = [Double](count: 3, repeatedValue: 1.0)
因为类型推断的存在也可以写为
var array = Array (count: 3, repeatedValue: 2.3)


3. 可以通过加法运算符把两个类型相同的数组创建出一个新的数组

var otherArray = [Double](count: 3, repeatedValue: 2.5)
var sixArray = array + otherArray   //实现两个数组的合并


4.迅速创建一个数组,如下:

var shoppingList : String[] = ["eggs", "milk", "apple"]
或写为 : var shoppingList = ["eggs", "milk", "apple"]


5.访问和修改数组. 可以使用append方法来在数组后面添加新的数据项

shoppingList.append("flour")
也可以使用赋值运算符+=添加数据项
shoppingList += "Baking Powder"
也可以使用这种方法直接添加相同类型的数据
shoppingList += ["Chocolate Spread", "Cheese", "Butter"]


可以使用下标一次改变一系列数据值

shoppingList[4...6] = ["Bananas", "Apples"]
三个换为了两个,所以数组中元素个数减一


6.调用数组的insert(atIndex:)方法来在某个具体索引值之前添加数据项:

shoppingList.insert("Maple Syrup", atIndex: 0) //使Maple Syrup变为数组中的第一个数


类似的可以使用removeAtIndex方法来移除数组中的某一项,它会把特定的项删除,并返回(返回值无用时可以直接忽略)

let removeOne = shoppingList.removeAtIndex(0)  //删除0项, 将一处的值赋给removeOne


也可以使用removeLast删除数组中的最后一项,返回删除的值

let apple = shoppingList.removeLast()


7.数组的遍历 依然可以正常的使用for-in和for循环, 也可以使用全局enumerate函数进行遍历,它可以返回一个由每个数据项的索引值和数据组成的键值对

for (index, value) in enumerate (shoppingList) {
println("第\(index + 1)项是 : \(value)")
}


<三>字典

1.swift的字典通过Dictionary定义,

var airports : Dictionary = ["TYO": "Tokyo", "DUB": "Dublin"]
或是 var airports = ["TYO": "Tokyo", "DUB": "Dublin"] //swift 可以推断出使Dictionary类型


2.读取和修改字典

可以使用count来获取字典中数据项个数: airports.count

可以使用正确类型的key为索引添加数据项

airports["LHR"] = "London" //使字典中现在的数据项个数增加到3个
也可以使用key改变value值
airports["LHR"] = "London Heathrow"


updateValue(forKey:)函数修改字典. 在这个key不存在的时候添加 ,返回一个nil,存在时修改值,返回原来的value值.

let oldValue = airports.updateValue("Dublin Internation", forKey: "DUB")


直接由key检索出value

let airportName = airports["LHR"]  //直接返回value值


可以通过给摸个key对应的value赋值为nil 而删除键值对

airports["LHR"] = nil


removeValueForKey方法也可以用来在字典中移除键值对,在键值对存在的情况下会移除该键值对并且返回被移除的value或者在没有值的情况下返回nil:

3.字典的遍历

可以使用for-in 和(key, value)元组来遍历字典

for (airportCode, airportName) in airports {
prINTln("\(airportCode): \(airportName)")
}


也可以通过访问key或是value属性检索字典

for airportCode in airports.keys {   //通过key检索
prINTln("Airport code: \(airportCode)")
}
for airportName in airports.values { //通过value检索
prINTln("Airport name: \(airportName)")
}


通过字典的keys和values属性可以直接构造数组

let airportCodes = Array(airports.keys)
let airportNames = Array(airports.values)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift