Swift学习笔记系列——1操作符

Tags: Swift 学习笔记
发布时间:2015-06-19
修改时间:2015-06-19
作者:Erwin
博客地址:技术杂货铺
欢迎转载,转载请注明出处。

Swift学习笔记系列——(1)操作符

赋值没有返回值

赋值(=)操作语句没有返回值,从编译层面解决了应该用相等操作符(==)的时候误用赋值操作符(=)。
复合赋值操作符是赋值和其它操作符的组合,和赋值操作符一样,语句本身没有返回值。
浮点数可以作为第二操作数进行取余操作
​8​ % ​2.5​ ​// equals 0.5
示意图:

比较引用操作符

===和!==

nil联合操作符

a??b等价于a!=nil?a!:b。如果a不等于nil则整个语句等于a,否则等于b。
示例代码

let defaultColorName = "red"
var userDefinedColorName: String? // defaults to nil
var colorNametoUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName is nil,so colorNametoUse is set to the default of "red"

范围操作符

a…b表示从a到b,包括a和b。
a..

溢出操作符

计算结果超出了可以表示范围叫做溢出。大于最大值叫做上溢,小于最小值叫做下溢。溢出会导致错误。如果只保留有效位数的内容,让运算能继续下去,需要用到溢出操作符。
Swfit提供了三个溢出操作符:溢出加操作符(&+)、溢出减操作符(&-)、溢出乘操作符(&*)。
一句话总结,溢出操作符让加减乘操作不受溢出限制。

操作符函数

类和结构体可以提供他们自己的对于已有操作符的实现。这被称作操作符重载。
中缀操作符重载不必特意声明,但前缀或后缀操作符重载需要用prefix或者postfix 声明。

定制操作符

格式:
​infix|prefix|postfix​ ​operator​ 操作符字符 { ​associativity​ ​left|right​|none ​precedence​ ​优先级数值​ }
associativity 的可能值是left、right和none。
没有指定时,associativity 的认值是none,precedence 的认值是100。

思维导图

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...