Swift5.1——前言

主要是针对Swift5.1,基础语法,和内部剖析。

基础语法

  • 基础语法
  • 流程控制
  • 函数
  • 枚举
  • 可选项

为什么选择Swift5.1

  • 历时5年发展,从Swift1.x发展到Swift5.x,经历了多次重大改变,ABI终于稳定
  • API(Application Programming Interface):应用程序编程接口
    • 源代码和库之间的接口
  • ABI(Application Binary Interface):应用程序二进制接口
    • 应用程序与操作系统之间的底层接口
    • 涉及内容有:目标文件格式、数据类型的大小/布局/对齐、函数调用约定等等
  • Swift是完全开源的 https://github.com/apple/swift 主要采用C++编写

编译流程

参考地址 https://swift.org/compiler-stdlib/

编译流程

swiftc

何为swiftc:

  • swiftc存放在Xcode内部
    • Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
  • 基本操作
    • 生成语法树: swiftc -dump-ast main.swift
    • 生成最简洁的SIL代码:swiftc -emit-sil main.swift
    • 生成LLVM IR代码: swiftc -emit-ir main.swift -o main.ll
    • 生成汇编代码: swiftc -emit-assembly main.swift -o main.s

Xcode中创建一个Swift工程,swift从第一行有效的函数开始运行

import Foundation

print("Hello, World!")

在终端使用swiftc -dump-ast main.swift 语法生成语法树,其他类似可以自己尝试

语法树

你可能感兴趣的:(Swift5.1——前言)