24 高级操作符

24 高级操作符

ID:37693927

大小:672.02 KB

页数:20页

时间:2019-05-28

24 高级操作符_第1页
24 高级操作符_第2页
24 高级操作符_第3页
24 高级操作符_第4页
24 高级操作符_第5页
资源描述:

《24 高级操作符》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、《TheSwiftProgrammingLanguage》中文版介紹1.欢迎使用Swift◦1.1.关于Swift◦1.2.Swift初见◦1.3.Swift版本历史记录2.Swift教程◦2.1.基础部分◦2.2.基本运算符◦2.3.字符串和字符◦2.4.集合类型◦2.5.控制流◦2.6.函数◦2.7.闭包◦2.8.枚举◦2.9.类和结构体◦2.10.属性◦2.11.方法◦2.12.下标脚本◦2.13.继承◦2.14.构造过程◦2.15.析构过程◦2.16.自动引用计数◦2.17.可选链◦2.18.类型转换◦2

2、.19.嵌套类型◦2.20.扩展◦2.21.协议◦2.22.泛型◦2.23.权限控制◦2.24.高级操作符3.语言参考◦3.1.关于语言参考◦3.2.词法结构◦3.3.类型◦3.4.表达式◦3.5.语句◦3.6.声明◦3.7.特性◦3.8.模式◦3.9.泛型参数◦3.10.语法总结4.苹果官方Blog官方翻译◦4.1.AccessControl权限控制的黑与白◦4.2.造个类型不是梦-白话Swift类型创建◦4.3.WWDC里面的那个“大炮打气球”◦4.4.Swift与C语言指针友好合作◦4.5.引用类型和值类型

3、的恩怨◦4.6.访问控制和Protected◦4.7.可选类型完美解决占位问题本書使用GitBook釋出翻译:xielingwang校对:numbbbbb高级运算符本页内容包括:•位运算符•溢出运算符•优先级和结合性(PrecedenceandAssociativity)•运算符函数(OperatorFunctions)•自定义运算符除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语言和Objective-C中的位运算符和移位运算。不同于C语言中的数值计算,Swift的数值计算默认是不可

4、溢出的。溢出行为会被捕获并报告为错误。你是故意的?好吧,你可以使用Swift为你准备的另一套默认允许溢出的数值运算符,如可溢出的加号为&+。所有允许溢出的运算符都是以&开始的。自定义的结构,类和枚举,是否可以使用标准的运算符来定义操作?当然可以!在Swift中,你可以为你创建的所有类型定制运算符的操作。可定制的运算符并不限于那些预设的运算符,你可以自定义中置,前置,后置及赋值运算符,当然还有优先级和结合性。这些运算符在代码中可以像预设的运算符一样使用,你也可以扩展已有的类型以支持你自定义的运算符。位运算符位操作符

5、可以操作数据结构中原始数据的每个比特位。位操作符通常在诸如图像处理和创建设备驱动等底层开发中使用,位操作符在同外部资源的数据进行交互的时候也很有用,比如在使用用户协议进行通信的时候,运用位运算符来对原始数据进行编码和解码。Swift支持如下所有C语言的位运算符:按位取反运算符按位取反运算符~对一个操作数的每一位都取反。这个运算符是前置的,所以请不加任何空格地写在操作数之前。let initialBits: UInt8 = 0b00001111let invertedBits = ~initialBits  // 

6、等于 0b11110000UInt8是8位无符整型,可以存储0~255之间的任意数。这个例子初始化一个整型为二进制值00001111(前4位为0,后4位为1),它的十进制值为15。使用按位取反运算~对initialBits操作,然后赋值给invertedBits这个新常量。这个新常量的值等于所有位都取反的initialBits,即1变成0,0变成1,变成了11110000,十进制值为240。按位与运算符按位与运算符对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1。以下代码

7、,firstSixBits和lastSixBits中间4个位都为1。对它俩进行按位与运算后,就得到了00111100,即十进制的60。let firstSixBits: UInt8 = 0b11111100let lastSixBits: UInt8  = 0b00111111let middleFourBits = firstSixBits & lastSixBits  // 等于 00111100按位或运算按位或运算符

8、比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即

9、任意一个为1,或都为1)。如下代码,someBits和moreBits在不同位上有1。按位或运行的结果是11111110,即十进制的254。let someBits: UInt8 = 0b10110010let moreBits: UInt8 = 0b01011110let combinedbits = someBits 

10、 moreBits  // 等于 1111111

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。