美文网首页
Swift (5.4) 关键字学习

Swift (5.4) 关键字学习

作者: 广锅锅 | 来源:发表于2021-05-06 14:52 被阅读0次

let & var: 声明常量、变量

func & ->: 声明方法、方法返回值类型

func greet(person: String, day: String) -> String { ... }

$0, $1, $2...: 在闭包中,快速访问参数

let numbers = [1, 2, 3]
numbers.sorted { (x1, x2) in x1 < x2 } // code1
numbers.sorted { $0 < $1 } // 等价于 code1

mutating: 在值类型(struct、enum) 的实例方法中修改属性值 参考 官网

struct Point {
    var a: Int = 0
    func getOptionXY(x: Int){
        self.a += x // 报错
    }
    mutating func getOptionXY(x: Int) {
        self.a += x // 加上 mutating 后,允许修改属性值
    }
}

defer: 定义一个闭包,它会在整个函数执行完,return 之前才执行。用于清理工作、资源回收等
(我见过 MMKV 的 ScopedLock,以及苹果底层的 __AtAutoreleasePool,它跟这些很像,这样的特性简直是Amazing!)

func foo() {
    let fileDescriptor = open(url.path, O_EVTONLY)
    defer {
        close(fileDescriptor)
    }
    // do some thing
}

guard: 提前退出 (return throw) 函数,可以用 if let 替代,但 guard 可读性更好 官网

is: 类型检查,类似 isKindOf 官网

if obj is String { // do some thing }

as: 类型转换 参考 官网

// obj : NSObject
let str = obj as! NSString

repeat...while: 就是 do...while

..< & ...: 语法糖,快速创建 Range 对象
Range & ClosedRange,区别在于是否包含尾部

(lldb) po 0..<3
▿ Range(0..<3)
  - lowerBound : 0
  - upperBound : 3

(lldb) po 0...3
▿ ClosedRange(0...3)
  - lowerBound : 0
  - upperBound : 3

相关文章

  • Swift (5.4) 关键字学习

    let & var: 声明常量、变量 func & ->: 声明方法、方法返回值类型 $0, $1, $2...:...

  • Module compiled with Swift 5.4 c

    Module compiled with Swift 5.4 cannot be imported by the ...

  • Swift 5.4 发布

    Swift微信公众号: SwiftMic[https://www.swiftmic.com/] Swift 5.4...

  • swift学习笔记②

    Swift学习笔记 - 文集 语法篇 一、函数 函数定义 Swift 定义函数使用关键字 func,functio...

  • Swift 5.4

    1. 方法使用不定长参数 2. 完善隐士语法 3. result builders 之前叫 function b...

  • swift中的声明关键字详解

    原起 学习swift,swift中的关键字当然要了解清楚了,最近在网上看到了关于声明关键字的文章,整理记录一下。 ...

  • swift学习简单整理

    Swift的学习过程 swift的学习: 常量: 用let关键字声明, 一旦声明(声明时必须初始化),即不可以修改...

  • iOS+Unity iOS项目整合 Unity AR+3D(Un

    swift整合版详见-->swift4.0+xCode9.1+Unity5.4 1、项目准备 1.1 首先要有一个...

  • iOS9新特性之常见关键字

    苹果为什么要推出关键字? 迎合swift,swift强语言,OC弱语言,swift必须描述属性有没有值 关键字注意...

  • swift学习_关键字

    class:用来声明一个类 enum:用来声明一个枚举 init:相对于类的释构方法的修饰。 deinit:相对于...

网友评论

      本文标题:Swift (5.4) 关键字学习

      本文链接:https://www.haomeiwen.com/subject/kflddltx.html