27-标准库源码分析

2020-11-02  本文已影响0人  bytebytebyte
/*
 //标准库源码分析
 1.swift源码简介
 swift于2015年正式开源,几个可能会经常看的目录:docs:一些文档,stdlib:swift源码,lib:C++源码,include:C++源文件
 2.Array分析
 map、filter、flatMap、compactMap、reduce
 3.substring分析
 append、lowercased、uppercased
 3.Optional分析
 map、flatMap、==、??
 4.Metadata分析
 5.反射
 反射是编程语言中一项强大的能力,比如Java语言的反射机制,对于任意一个类型,都能够动态获取这个类的所有属性和方法信息,都能够动态调用它的任意方法和属性。swift的反射机制目前还比较弱,通过Mirror类型来提供简单的反射功能。
 */
struct Person {
    var age: Int = 0
    var name: String = ""
}

let mirror = Mirror(reflecting: Person(age: 10, name: "jack"))
print(mirror.displayStyle!) //struct
print(mirror.subjectType)//Person
print(mirror.superclassMirror as Any) //nil
for case let (label?, value) in mirror.children {
    print(label, value) //age 10 //name jack
}

上一篇 下一篇

猜你喜欢

热点阅读