Swift基础知识_swift运算符

分享到:

基本运算符

运算符是用来检查,更改或组合值的特殊符号或短语。例如,加法运算符(+)将两个数字相加(如设i = 1 + 2)。更复杂的例子包括逻辑AND运算符&&(如if中enteredDoorCode && passedRetinaScan)和递增运算符++ i,是由1增加i值的快捷方式。

Swift支持大部分标准C语言中的运算符并改进了几个功能以消除常见的编码错误。赋值运算符(=)不返回一个值,以防止和运算符(==)相等时被误用。算术运算符(+ , - ,* ,/,%等等)检测和禁止值溢出,以避免在使用比存储他们的类型所允许的值的范围更大或更小的数值出现意外的结果。您可以通过使用Swift中的溢出运算符来选择值的溢出范围,详见上溢运算符。

不同于C语言,Swift可以在浮点数上执行余数(%)计算。Swift还提供了C语言中没有的两个范围运算符(a..b和A... B),作为表达范围值的快捷方式。

本章介绍了Swift的常见运算符。高级运算符包括了Swift中的高级运算符,并介绍了如何为自定义类型自定义运算符以及执行标准运算符。

术语

运算符分为一元,二元或三元运算符:

  • 一元运算符有一个操作数(如-a)。一元前缀运算符会出现在该操作数前(如!b),一元后缀运算符会在操作数后出现(如i + + )。
  • 二元运算符有两个操作数(如2 + 3 ),并且是中缀,在它们出现在两个操作数之间。
  • 三元运算符有三个操作数。与C语言类似,Swift只有一个三元运算符,即三元条件运算符( a ?b :c)

数值运算符影响操作数。在表达式1 + 2, +号是一个二元运算符并且它的两个操作数值为1和2。

赋值运算符

赋值运算符( a = b )用b初始化或更新a值:

 
let b = 10
var a = 5
a = b
// a is now equal to 10
 

如果右边的赋值是具有多个值的元组,其元素可以一次分解成多个常量或变量:

 
let (x, y) = (1, 2)
// x is equal to 1, and y is equal to 2
 

不同于C语言和Objective-C中的赋值运算符,Swift中的赋值运算符本身并不返回一个值。下面的语句是无效的:

 
if x = y {
// this is not valid, because x = y does not return a value
}
 

这一特征可以防止使用相等的运算符(==)时,不小心使用赋值运算符( = )。通过使if x = y无效,Swift可以帮助你避免代码中出现这些类型的错误。

算术运算符

Swift支持所有数字类型的四则算术运算符:

  • 1 + 2 // equals 3
  • 5 - 3 // equals 2
  • 2 * 3 // equals 6
  • 10.0 / 2.5 // equals 4.0

不像在C语言和Objective-C中的算术运算符,Swift算术运算符不允许值在默认情况下溢出。您可以通过使用Swift的溢出运算符(比如a& + b的)选择值溢出范围。详见上溢运算符。

加法运算符还支持String串联:

 
"hello, " + "world" // equals "hello, world"
 

两个Character值,或者一个Character值和一个String值,可以加在一起创建一个新的String值:

 
let dog: Character = "		
昵    称:
验证码:

相关文档:

swift
IOS实例
ObjectiveC