swift4.1 学习回顾(1--8)

2018-11-09  本文已影响124人  小曼blog

这本四百多页的书,花了差不多两个月(9.20——11.8)的时间终于看完了。因为我之前一直是OC语言的使用者,转Swift并不困难,且现在的项目也是Swift语言,差不多写了有一年了。这一次的学习是因为在实际的使用当中总是会按照原来的思路,按照OC的方式去解决问题,而没有很好的利用Swift的一些很好的特性或者简易写法。有时候,一些简化的语法糖让我读起来不太理解,总是看着那么陌生,不能很好的理解它们,还有很多的特性也不了解,所以,才下定决心要把Swift语言从头看一遍。

粗略回顾下swift语言的知识点吧。

1. swift的简介:开源、跨平台、面向对象、范式丰富、安全

swift是一门开源的语言,而且是跨平台的,也是支持面向对象的(没有OC中那样处处皆对象的感觉),而且还有面向函数编程,这对我来说是比较新鲜的。swift也是一门非常注重安全的语言,它具有类型推导的功能,但是声明一个变量或常量的时候也是一定要初始化的。
回顾链接:https://www.jianshu.com/p/5faa88be6014

2. 基本类型:枚举、结构体、类、协议、函数、复合类型(元组)

想不到吧?swift的基本类型并不是按照之前的基本类型和复杂类型分的,而是按照值类型和引用类型分的。像Int、String、Array等在swift中都是结构体,没想到吧?枚举、结构体是值类型,类、函数是引用类型,元组的类型是根据它其中的元素类型决定的,协议是抽象接口类型。
回顾链接:https://www.jianshu.com/p/5faa88be6014

3. 数值类型: 整型(Int), 浮点型(Float),精度型(Double)

swift中的数值类型都是结构体类型,而且是互相独立的,相互转换的话是需要显示的调用显示转换的方法。本节中还介绍了布尔类型以及计算操作符,溢出运算符等。
回顾链接:https://www.jianshu.com/p/ca659e671b6a

4. 元组: (元素1, 元素2,......,元素n)

swift中一种新的类型就是复合类型元组了。元组在函数返回值以及循环中的应用还是很方便的。大部分的语言中,返回值只能是一个,当然也只能是一种类型了。swift则不同,可以返回一个元组,元组中的元素类型也可以不一样,这给我们带来了多少方便啊。
交换两个对象的值运用元组变得如此方便:

    var w = 1, n = 2
    (w, n) = (n, w)
    print("w:\(w), n:\(n)")

回顾链接:https://www.jianshu.com/p/a9d196af82c3

5. 收集类型: 数组、字典、集合

swift的收集类型有数组、字典和集合。
数组是有序的相同元素的集合;
字典是键值对集合;
集合是无序的相同元素的集合。
swift中,他们也都是结构体,并且是值类型。
其他的增删改查都与OC类似。
回顾链接:https://www.jianshu.com/p/631c74456b3b

6.范围操作符: a...b , a..<b, a..., ...b, ..<b

swift的范围操作符也是一种新颖的形式,在swift中,不再使用传统的for(;;)循环,而是使用for...in 循环,这里就常常用到范围操作符。范围操作符表示一个空间范围,不但有有限范围,而且还有无限范围的表示。比如:
a... : 大于等于a的范围 , >=a
...b : 小于等于b的范围, <=b
..<b : 小于b的范围,<b
是不是很新奇呢?用于获取数组的子数组也是很方便的吧。
回顾链接:https://www.jianshu.com/p/8ce26723fd5c

7.字符和字符串: Character 和 String

字符串也是结构体类型哟。这里有两个注意点,一个是转义字符,一个是字符串插值,也就是我们打印的时候常用的 \(obj)。使用 (obj)可以把任意类型转换为字符串。其他的一些字符串常用操作就不再一一介绍了。
回顾链接:https://www.jianshu.com/p/8fbcdf6e2153

8. 条件分支语句:if , switch, 三目

swift中也是具有三种分支语句: if...else, switch, 三目运算 。这里要注意的是swift中switch的特点,switch的条件类型多样,每一个case也是可以增加条件表达式的,swift的switch是很灵活的。
注意:这里有个重要知识点叫做 “值绑定”。
回顾链接:https://www.jianshu.com/p/121b61961644

上一篇下一篇

猜你喜欢

热点阅读