swift 4.2 官方文档学习笔记(一)- 基础内容(上)

Sellen Wei
3 min readDec 10, 2018

--

小白菜鸡从今天开始记录学习swift的过程,本人北美iOS开发工程师,入职不到一年,最近发现swift语言和objc语言还是有很多模凌两可的知识漏洞,希望通过系统地学习swift官方文档开始,能够迅速把知识漏洞补上,会的知识点进行反思,不会的知识点进行学习记录,由于平时用的是英文,记录中可能中英文混杂,请见谅~

先来第一章:基础内容

1. advanced type(元组) 初见,什么是元组?元组允许你来创建和传递一组数据。你可以利用元组在一个函数中以单个复合值的形式返回多个值。(不懂,后面继续回看)

2. Swift is a type-safe language, which means the language helps you to be clear about the types of values your code can work with. (类型安全的语言,因为类型是否为nil在声明变量的时候就已经表达的很清楚了,这个在工作当中也感受到了,用swift的变量时如果函数不允许pass nil变量,就完全不用担心需要检查nil的case,非常安全,另外如果要求传入的参数是string,当传入int时,编译就会报错,完全不用运行就可以检查出来)

3.常量 & 变量: 这个不用多说了,我面试intern的时候第一个先问的问题,var和let的区别,编译时如果声明为变量,后面的使用中却并没有在runtime改写,那么xcode会提示warning要求修正,同理,声明为let的,如果试图改写,会直接报error。

4. let 和 var 的名字可以为任何character,包括Unicode(emoji),这个第一次知道,我都是使用26个字母/数字/下划线,就算可以随意使用字符,命名也是有规则的,具体规则见:命名规则

5. 注释:// 或者 /*。。。 */ 或者 /* 。。。/*。。*/。。。*/

6. 整数相关:这个非常重要!!第一范围是什么?第二最大最小值是什么?第三sign 和unsign怎么表示?

Swift 提供了 8,16,32 和 64 位编码的有符号和无符号整数,这些整数类型的命名方式和 C 相似,例如 8 位无符号整数的类型是 UInt8,32 位有符号整数的类型是 Int32 。与 Swift 中的其他类型相同,这些整数类型也用开头大写命名法。

ok,官方文档告诉了我们这些,但是我们常用的Int到底是多少位的?答案是,取决于你current platform‘s native word size, 32 位平台上 Int代表 Int32, 64 位平台上UInt代表 UInt64。

7. float 和 double类型,这两个类型我在使用中总是混淆,有时候就瞎用,简单来说,从名字来看,double就是两倍的float,也就是float可以存32位浮点数,double是存64位,另外官方文档推荐使用double,因为它小数点后具有15位的精度,而Float只有6位精度,据说在cs广泛应用中,都是使用Double而不是Float的。

8.进制前缀,十进制没有前缀,二进制是0b,八进制是0o,十六进制是0x

9.1.25e-2 = 1.25 * 10^-2 0xFp-2 = 15 * 2^ -2 = 3.75 不是很常用,工作中还没碰到过,先记下来。

10. 1_000_000_000 = 1000000000 加下划线是为了更方便易读

11.强制转换 Uint16(num):将num的UInt8强制转换为UInt16类型

--

--