猫猫分享,必须精品
原创文章,欢迎转载。转载请注明:翟乃玉的博客
地址:http://www.jianshu.com/notebooks/4236923/latest
一:常量、变量
1:什么是常量和变量
- 在swift中,定义一个标识符时候必须明确其是常量还是变量
- 使用let定义常量,定义后不可以修改
- 使用var定义变量,定以后可以修改
2:常量和变量的区别
-
常量用let定义,定以后不可以修改,变量用var定义,定以后可以修改
3:使用的注意事项
- 在开发时,优先使用常量,当发现标识符需要修改时,再改为变量(将let改为var).目的是防止在其他不希望修改的地方不小心将值改掉了.
-
常量的本质:指向的内存地址不可以修改,但是可以通过内存地址找到对应的对象,之后修改对象内部的属性.
二:数据类型
1:Swift中的数据类型
- 整形
- 有符号
- Int8:有符号8位整形
- Int16:有符号16位整形
- Int32:有符号32位整形
- Int64:有符号64位整形
- Int:默认,相当于OC的NSInteger
- 无符号
- UInt8:无符号8位整形
- UInt16:无符号16位整形
- UInt32:无符号32位整形
- UInt64:无符号64位整形
- UInt:默认,相当于OC的NSUInteger
- 有符号
- 浮点型
- Float:32位浮点型
- Double:64浮点型(默认)
- 枚举使用
1.如果可以根据上下文语法退单出该枚举的类型可以直接用 .具体枚举-
上下文推断不出类型,就用 枚举类型.具体类型
-
2:Swift中的类型推导
- Swift是强类型语言,Swift中的任意标识符都有明确的类型
- 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型.(可以通过option键+鼠标左键来查看标识符的数据类型)
//这两句的效果是一样的
let btn:UIButton = UIButton()
let btn = UIButton()
3:Swift中的基本运算
-
强制转换 类型(标识符)
三:逻辑分支
1:if分支
-
写法:
- 注意:
- 判断句可以不加()
- 在swift的判断句中必须有明确的真假(没有非0即真,必须有明确的Bool值false/true)
2:guard
-
介绍
- guard是swift2.0新增的语法.类似于if,其设计目的为提高程序的可读性
使用
guard 条件表达式 else {
//条件语句
break
}
语句组
- guard语句必须带有else语句,
- 当条件表达式为true时候跳转过else语句中的内容,执行语句组中的内容.
-
条件表达式为false时候执行else语句中的内容,跳过语句一般是return,break,continue,throw
3:switch分支
- switch的基本使用
- switch()可以省略
- case结束可以不加break
- case后面可以加多个条件
- 如果希望case穿透,可以在case结束时加fallthrough
- 可以判断多装类型 浮点型,字符串,区间类型
区间类型表示1~6区间有
1..<7
1...6
4:三目运算
let a = 5>4 ? 5 : 4
和其他语言没啥区别,要注意的是?前面的空格是必须写的.
四:循环分支
for循环
- 现在只支持区间for循环
* 写法
for 下标 in 区间 {
语句块
}
for i in 0..<10{
print(i)
}
for _ in 0..<10{
print("不要下标的遍历")
}
- 普通for,类似于oc,2.0时候可以,3.0以后废除
while和do while 循环
- while
- while的判断句必须有正确的真假,没有非0即真
- while后面的括号可以省略
while 判断句 {
语句块
}
- do while 使用repeat关键字代替了do
写法
repeat {
语句块
} while 判断句