一、查看Swift版本&查看Xcode位置
$ xcrun swift -version
Apple Swift version 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)
$ xcrun --find swift
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift
Swift版本
- 历时几年发展,从Swift1.x发展到了Swift5.x版本,经历了多次重大改变,ABI终于稳定
- **
API(Application Programming Interface)**应用程序编程接口: 源代码和库之间的接口 - **
ABI(Application Binary Interface)**应用程序二进制接口:应用程序与操作系统之间的底层接口,涉及的内容有:目标文件格式、数据类型的大小\布局\对齐、函数调用约定等等 - 随着ABI的稳定,
Swift语法基本不会再有太大的变动 - 截止至
2020年8月,目前最新版本:Swift5.2.4 Swift完全开源:https://github.com/apple/swift,主要采用C++编写
二、编译流程
C源程序头文件>预编译处理(cpp)>编译程序>优化程序>汇编程序>链接程序>可执行文件swiftc一些操作:cd到main.swift父目录
- 生成语法树:
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
对汇编代码进行分析,可以真正掌握变成语言的本质
三、基础语法
print("Hello, World!")
- 不用编写main函数,
Swift将全局范围内的首句可执行代码作为程序入口 - 一句代码尾部可以省略分号(
;),多句代码写到同一行时必须用分号(;)隔开 - 用
var定义变量,let定义常量,编译器能自动推断出变量\常量的类型 Playground可以快速预览代码效果,是学习语法的好帮手Command + Shift + Enter:运行整个PlaygroundShift + Enter:运行截止到某一行代码