Swift 基本运算符和集合类型
2015-09-17 09:16
302 查看
swift 支持大部分C语言的运算符, 其中有所改动的有取余运算符(%),可以对浮点数进行取余运算. 还增加了C中没有的表示在两数之间的区间运算符( … ).
且改进许多运算符的特性减少编码错误.
2.区间运算符: 闭区间运算符为 “… ” 3…6 从3到6之间的值包含3和6
半闭区间:半闭区间 a..b定义一个从a到b但不包括b的区间,即包含第一个值但是不包含最后一个值
3. 判断字符串是否为空可以写为 字符串.isEmpty判断返回的布尔值
4.字符串比较 : 依然用函数hasPrefix 和 hasSuffix来比较前缀相等和后缀相等, 相等可以使用 == 来判断
5.修改字符串的大小写: 使用函数uppercaseString 改为大写和 lowercaseString改为小写
2.swift 还提供了一种指定数组大小和设置默认值的的初始化方法
3. 可以通过加法运算符把两个类型相同的数组创建出一个新的数组
4.迅速创建一个数组,如下:
5.访问和修改数组. 可以使用append方法来在数组后面添加新的数据项
可以使用下标一次改变一系列数据值
6.调用数组的insert(atIndex:)方法来在某个具体索引值之前添加数据项:
类似的可以使用removeAtIndex方法来移除数组中的某一项,它会把特定的项删除,并返回(返回值无用时可以直接忽略)
也可以使用removeLast删除数组中的最后一项,返回删除的值
7.数组的遍历 依然可以正常的使用for-in和for循环, 也可以使用全局enumerate函数进行遍历,它可以返回一个由每个数据项的索引值和数据组成的键值对
2.读取和修改字典
可以使用count来获取字典中数据项个数: airports.count
可以使用正确类型的key为索引添加数据项
updateValue(forKey:)函数修改字典. 在这个key不存在的时候添加 ,返回一个nil,存在时修改值,返回原来的value值.
直接由key检索出value
可以通过给摸个key对应的value赋值为nil 而删除键值对
removeValueForKey方法也可以用来在字典中移除键值对,在键值对存在的情况下会移除该键值对并且返回被移除的value或者在没有值的情况下返回nil:
3.字典的遍历
可以使用for-in 和(key, value)元组来遍历字典
也可以通过访问key或是value属性检索字典
通过字典的keys和values属性可以直接构造数组
且改进许多运算符的特性减少编码错误.
<一>运算符
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)
相关文章推荐
- Apple Swift学习教程
- Swift中实现点击、双击、捏、旋转、拖动、划动、长按手势的类和方法介绍
- Swift中定义二维数组的方法及遍历方法示例
- 简单分析Swift语言的一些基本特征
- Swift与C语言指针结合使用实例
- Swift心得笔记之控制流
- 用Swift构建一个简单的iOS邮件应用的方法
- 苹果公司推出的新编程语言Swift简介和入门教程
- Swift中的指针操作和使用详细介绍
- Swift中使用正则表达式的一些方法
- Swift心得笔记之运算符
- Swift中使用可选类型完美解决占位问题
- Swift学习笔记之构造器重载
- Swift中的Access Control权限控制介绍
- Swift类型创建之自定义一个类型详解
- Swift教程之控制流详解
- Swift中初始化方法的顺序介绍
- Swift里的值类型与引用类型区别和使用
- Swift调用Objective-C编写的API实例