27-标准库源码分析

/*
 //标准库源码分析
 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
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容