微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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。

思维导图

原文地址:https://www.jb51.cc/swift/326877.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐