1、Swift入门学习笔记(第一版),对Swift的基础知识点进行梳理总结。知识点一直在变,只是作为参考,以苹果官方文档为准~
2、在学习完基本的知识点以后会结合官方文档及相关资料,在此版本的基础上进行添加更改。
四、基本运算符及高级操作符
注:Swift中与C和OC相同的部分本文不作累述
基本运算符
Swift 支持大部分标准 C 语言的运算符,且改进许多特性来减少常规编码错误
1、赋值运算符
赋值符(=)不返回值,以防止把想要判断相等运算符(==)出错(=)符导致的错误
let a = 1
var b = 2
//if b = a {
// 编译不通过,其他语言可以通过,b=a不返回值,避免犯错
//}
2、算数运算符
算术运算符(+,-,*,/,%等)会检测并不允许值溢出,以此来避免超出范围的范围时导致的异常结果
2.1、浮点数取余操作
var x = 7%2.5
print(x) // 2.0
3、范围运算符
3.1、闭区间运算符
(a…b) 三个点定义a到b的范围,包含a,b
for index in 1...5 {
print(index)
}
Output:
1
2
3
4
5
3.2、半开区间运算符
a..
for index1 in 1..<5 {
print(index1)
}
Output:
1
2
3
4
高级操作符
1、位运算符
按位反,位与,位或,位异或此处不讲解,对左移右移带过
x>>a
: x右移a位,无符号整数高位0补位,有符号高位符号位补位
x<<a
:x左移a位,低位补0
2、溢出运算符
当向一个整数赋超过它容量的值是,Swift会报错而不是生成一个无效的数,更加安全
var potentialOverFlow = Int8.max
//potentialOverFlow += 1 //报错
此时,可以选择溢出运算符让系统在数值溢出时草去截断操作
溢出加法 &+
溢出减法 &-
溢出乘法 &*
//以溢出加法为例说明
var testOverFlow = UInt8.max
testOverFlow = testOverFlow &+ 1
print(testOverFlow) //值为0
UInt8的范围是0-255,对255进行+1操作,超出UInt8能容纳位数导致数值溢出,留在UInt8边界内的即为计算结果
注:有符号数值溢出计算要考虑符号位
3、运算符函数
这部分在学完函数部分再补充