Swift 个人学习笔记 - 02: 基础内容

前端之家收集整理的这篇文章主要介绍了Swift 个人学习笔记 - 02: 基础内容前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

文章纯粹是中文版@L_502_0@的学习笔记,所以绝大部分的内容都是文中有的。本文是本人的学习笔记,不是正式系统的记录。仅供参考

以下还是有很多没看懂、不确定的地方,我会以“存疑”的注解指出。

在此感谢中文版翻译者,这极大地加快了 Swift 的学习速度。


Reference:

原版:The Swift Programming Language
中文版:Swift 3 编程语言

  • Swift 提供了以前没有的类型:元组

  • 可选项类似于 nil 指针,但不仅限于类,可用在所有的类型上,甚至包括 Int 这样的基础类型。

  • @H_404_29@

    基本类型

    整数位宽

    Int 类型与处理器位宽相同。同理 UInt。这一点类似于 C 里面的 long 类型。
    另有:Uint8,Int8,Uint16,Int16,Uint32,Int32,Uint64,Int64
    每个类型都会有 .min.max 属性

    数字值前缀

    • 二进制:0b

    • 八进制:0o

    • 十六进制:0x

    • 指数:1.25e2 = 125.0。还有其他的几种指数,忽略了,不记。

    • @H_404_29@

      个人觉得比较实用的是二进制 0b,但是又觉得一般只有在操作硬件底层的时候才会用到,像iOS开发很少见

      强制类型转换

      这个语法我很喜欢:Uint16(15.0)

      typedef

      Swift 使用的是typealias来实现这个功能

      1. typealias ANewType = Uint16

      布尔值

      bool,值为truefalse

      元组

      使用括号声明一个元组,比如:

      1. let http404Error = (404,"Not Found")

      访问元组

      1. 像上面那个常量,其中的一个作用就是用来定义元组变量(一个元组中存在多个变量名)来指向它:
        let (code,msg) = http404Error

      2. 使用序号:
        http404Error.0 --> 404; http404Error.1 --> "Not Found"

      3. 定义元组的时候命名:
        let http200Status = (statusCode: 200,description: "OK")

      个人觉得,元组目前看起来最大的作用是用在返回结构化的值,对于平常的应用,结构体会更友好一些

      可选项绑定

      从教程上来看,感觉其实就是(存疑)判断某值是否为 nil,然后进入相应的分支处理:

      1. if let localVal = someOptional {
      2. ... // 使用变量 “localVal”
      3. }

      可以在同一行中 test 多个变量:

      1. if let val01 = optional01,let val02 = optional02 {
      2. ...
      3. }

      各个部分之间是 “&&” 的关系

      错误处理

      一会抛出错误函数定义:

      1. func someFunc() thgrows {
      2. ...
      3. }

      调用时的 catch 方式:

      1. do {
      2. try someFunc()
      3. ...
      4. } catch {
      5. ...
      6. }

      或者是直接处理多种不同的错误

      1. do {
      2. try makeASandwitch()
      3. } catch Error.OutOfCleanDishes {
      4. ...
      5. } catch Error.MissingGredients(let ingredients) {
      6. ...
      7. }

      其中 “ingredients” 是 catch 捕获的 String 类型值(存疑)。

      断言

      assert(_:_:)

      比如:
      assert(tmp >= 0,"some other happens")
      而第二个参数,也就是错误信息可以忽略。

      下一篇

      Swift 个人学习笔记 - 03: 基本运算符

猜你在找的Swift相关文章