[翻译]Swift编程语言——基本操作符
基本操作符操作符就是一个简单的符号或者短语,你可以用他们来检查、改变、组合数据。举例说明,加操作符(+)把两个数字加到一起。更复杂的操作符例子有AND操作符(&&)还有自增操作符++。 术语操作符有一元、二元以及三元的: 操作符影响的那些个值叫做操作数。以表达式1+2为例,+是二元操作符,+的两个操作数分别是数值1和数值2. 赋值操作符(=)元组的赋值,分解到对应元组成员、 赋值语句不返回值,避免使用==的时候误用了= 算数操作符(+-*/)不同于C 和OC,Swift的算数运算符不允许溢出了,必要时你要使用溢出操作符(overflow operators) +比较例外,可以用在字符串拼接的情形 取余操作符其他语言称之为模运算,但是考虑到Swfit对负数的这类操作(负数是第一个操作数),还是叫做取余操作比较好。 b是正负数都可以,b无论正负,结果和b是正数的情况一样。 浮点数取余操作(浮点数做第二个操作数)这点和C和OC不同,Swift支持浮点数做操作数的取余操作。 自增自减操作符(++ – 前后缀组合)没啥说的 一元取负操作符(-)切换操作数的符号(正负)。The unary minus operator (-) is prepended directly before the value it operates on,without any white space. 一元取负操作符使用后会被优先生效,不要和操作数之间留任何空白。 一元取正操作符(+)没有任何作用,写着对称好玩吧。 复合赋值操作符(+= -=)不返回值哦 比较操作符(== != > < >= <=)Swift有身份操作符=== 、!==,可以用它来判断是否两个引用指向同一个对象。 ==、!=可以用在字符串比较上 三元操作符(question ? answer1 : answer2)尽管用着方便,但尽量避免使用过度造成的阅读困难。 Nil联合操作符(a ?? b)这个操作会判断一个可选类型是否有值,如果有值则返回解包的值;如果没有值,则返回一个默认值。a必须是个可选类型,b的类型必须和a的类型匹配。 a ?? b 等价于?a? != ?nil? ? ?a?! : ?b 封装了nil检查和解包过程,简练而且易读。 范围操作符闭值域操作符表示从a到b的范围(包括a和b),要确保a不能大于b。 最常用的场景是配合for in 的使用 for? ?index? ?in? ?1?…?5? { 半开值域操作符表示从a到b的范围(包括a,不包括b),要确保a不能大于b。 最常用的场景是对以0为第一位置的列表进行计数操作时,因为这种情况不能访问到长度值作所在的位置。 ?let? ?names? = [?”Anna”?,?”Alex”?,?”Brian”?,?”Jack”?] 逻辑操作符(!a、a && b)逻辑操作法修改或者组合不二类型的值。Swift提供了三种和C一样的逻辑操作符。 逻辑非符(!a)前缀操作符,和操作数之间不能有空格。读作“not a”。 给操作数起好的名字是个好习惯,简明易懂,避免做双重否定或者让人迷惑的逻辑语句。 逻辑与符(a && b)逻辑与创建了一个逻辑表达式,而且在两条语句都为真才会得到真。短路原则在第一个语句为false时起作用,第二个语句就不被求值计算了。 逻辑或符(a || b)逻辑或创建了一个逻辑表达式,只要有其中一条语句为真就会得到真。如果左边的语句为真了,右边的语句就不会被求值计算了。这也是短路的一种情况。 组合逻辑操作符多个逻辑操作符可以连接使用。 避免出错加的括号 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |