Swift 官方文档阅读笔记与思考(一)


2019年12月20号,通过了字节跳动的iOS开发实习面试,二面面试官给我提了一个建议:把Swift经典著作再通读几遍,每一次都会有不同的收获,于是我想开始这个计划吧。

常量和变量

swift非常鼓励我们使用常量,当我们非常确定一个量不会改变时,我们最好是使用let声明常量,这样就可以很好的降低出错几率,在实力开发过程中,当我们的一个var声明的变量而没有改变时,Xcode通常会对我们发出“从未改变”的警告。

浮点数类型与整数类型

提到这个是因为,突然想到了一个问题,为什么在同一机器字长的机器上,浮点数存储数据的范围更大?

类型安全和类型推断

Swift是类型安全的,在编译阶段会对代码进行类型检查并标记错误。那么Xcode如何实现编译时进行类型安全检查的?

可选类型

最接近Swift可选类型的是OC中间的类结构,OC类结构的nil表示缺少一个合法的对象,也就是什么都没有,而Swift将这一特性充分发挥好,将可选类型与Int,class等等类型全部结合起来,当我们不确定一个变量是否有值时,我们可以定义一个可选类型,例如:var a:Int?
浅尝探究可选类型底层如何实现:通过查看可选类型的源码可知道,可选类型是一个枚举结构(Swift语言设计真的将枚举推向了一个很高的地位)。

基础运算符

Swift在设计的时候尽可能使得开发者在运行前检查出错误(感叹Swift的设计非常值得称赞,作者也是一名小小Swifter啦~),进行了很多非常令人舒适的设计,例如:如何我们进行条件判断的时候把 == 写成 = ,这时会报错,因为在C语言中 = 是有返回值的,这样会存在很多由于代码编写疏忽存在的问题(非常不必要的问题),而到Swift中, = 号没有返回值了,编译器进行类型检查的时候报错。
比较运算:Swift 标准库只能比较七个以内元素的元组比较函数。如果你的元组元素超过七个时,需要自己实现比较运算符。
逻辑运算:Swift 逻辑操作符 && 和 || 是左结合的,这意味着拥有多元逻辑操作符的复合表达式优先计算最左边的子表达式。

总结:当自己被自己被各种各样的知识点困扰着的时候,静下心来再一次阅读官方文档真有着不一样的收货。


文章作者: Cone
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 Cone !
  目录