20170603基础知识-数据类型、控制语句、集合类型

1、Swift原生数据类型:值类型(副本)、引用类型(本身)

2、整数型,max min方法,获得当前整数的最大值、最小值

3、浮点型,默认的推断功能是Double类型,Float需要自己声明

4、0b:二进制;0o:八进制;0x:十六进制

5、整数和浮点数可以增加0和_来提高可读性,例如:000.0156;3_360_000(类似千分符)

6、数字类型之间的转换用构造函数,UInt16()、UInt8()、Float()等

7、元组,是一种数据结构,关系数据库中的基本概念,元组表中的一条记录,(“值”,“值”,“值” ) 或者 (字段:“值”,字段:“值”,字段:“值”)

元组多用于函数返回多值

8、Swift所有的数据类型声明的变量或常量不能为空nil

查询数据库之类的操作,会出现空值,需要可选类型?! var str :String? = nil

对可选类型,必须要进行拆包,?-!显式拆包,!-! 隐式拆包,隐式拆包常用于可选类型值可以确定为非空

可选绑定:可选类型的赋值、判断是否为空,如果不为空,可以拆包并且赋值给常量

9、字符(Character)、字符串,都是用双引号,不能用单引号

10、字符串的长度:str.characters.count

字符串的拼接:append方法

11、guard 条件表达式 else {跳转语句(return、break、continue、throw)} 语句组,提高多个if-else结构的可读性

表达式为true时,直接执行语句组

12、for i in stride(from: 2, to: 10, by: 2) {

if i == 3 {

break

}

stride来控制循环的步长,from to : ≥2,<10; from through : ≥2,≤10

for i in (1…5).reversed() :反向遍历

13、fallthrough,为了switch..case中,贯穿case用的,因为有隐性的break,所以要想贯穿case,需要加fallthrough

14、原生集合类型:数组、Set、字典(映射、散列表)

15、数组声明:  var i: Array  或者 var i: [String]

let 数组,为不可变数组,必须初始化

var i = [String]() ,初始化了数组,开辟了内存空间;var i: [String] 还没有初始化,没有开辟内存空间

数组的长度:count属性

数组遍历:for i in 数组;for (index, value) in 数组.enumerated() 取出索引和元素

append增加,insert(_, at:_)插入,remove(at:_)删除

16、字典:key→value,键→值,key不能重复,value可以重复

var i:Dictionary 或者 var i: [Int : String]

字典需要初始化才能使用,往往在声明时初始化

字典元素的删除:removeValue(forKey:键名)  或者 键=nil

字典元素的替换:键=新值 或者 updateValue(新值, forKey:键名)

遍历键:for i in 字典.keys

遍历值:for i in 字典.values

全部遍历:for (index, value) in 字典

17、Set,无序、相同类型、不能重复

var i: Set

Set元素的插入:insert()

Set元素的删除:removeFirst() 删除第一个元素或者 remove()

Set的遍历:for i in Set 或者 for (index, value) in Set.enumerated(),index其实是可以循环的次数

Set的交集:A.intersection(B)

Set的并集:A.union(B)

Set的异或集合:A.symmetricDifference(B)

Set的差集:A.subtracting(B)

Set是否子集:A.isSubset(B)

你可能感兴趣的:(20170603基础知识-数据类型、控制语句、集合类型)