Swift -- 标准库源码分析

Swift源码简介

  • Swift于2015年正式开源,github地址:https://github.com/apple/swift
  • 几个可能会经常看的目录:
    - docs:一些文档
    - stdlib:Swift源码
    - lib:c++源码
    - include:c++头文件
  • 标准库源码位置(标准库:IntDoubleArrayDictionary等等常用类型都属于标准库)https://github.com/apple/swift/tree/master/stdlib/public/core
    把标准库代码下载到本地,可以把stdlib/public/core里边的代码拖入到工程中去看,在拖入时,不需要编译不需要拷贝,仅仅供看代码,在勾选时,可以仅勾选如下选项:

Array分析

  • mapfilter
    https://github.com/apple/swift/blob/master/stdlib/public/core/Sequence.swift
  • flatMapcompactMapreduce
    https://github.com/apple/swift/blob/master/stdlib/public/core/SequenceAlgorithms.swift

Substring分析

  • appendlowercaseduppercased
    https://github.com/apple/swift/blob/master/stdlib/public/core/Substring.swift

Optional分析

  • mapflatMap==??
    https://github.com/apple/swift/blob/master/stdlib/public/core/Optional.swift

Metadata分析

https://github.com/apple/swift/blob/master/docs/ABI/TypeMetadata.rst

反射

  • 反射是编程语言中一项强大的能力,比如Java语言的反射机制
    - 对于任意一个类型,都能够动态获取这个类的所有属性和方法信息
    - 对于任意一个实例,都能够动态调用它的任意方法和属性
  • Swift的反射机制目前还比较弱,通过Mirror类型来提供简单的反射功能

你可能感兴趣的:(Swift -- 标准库源码分析)