SwiftGG
参与本项目SwiftGG官网SwiftGG微博SwiftGG微信
  • README
  • 欢迎使用 Swift
    • 关于 Swift
    • 版本兼容性
    • Swift 初见
    • Swift 版本历史记录
  • Swift 教程
    • 基础部分
    • 基本运算符
    • 字符串和字符
    • 集合类型
    • 控制流
    • 函数
    • 闭包
    • 枚举
    • 类和结构体
    • 属性
    • 方法
    • 下标
    • 继承
    • 构造过程
    • 析构过程
    • 可选链
    • 错误处理
    • 并发
    • 类型转换
    • 嵌套类型
    • 扩展
    • 协议
    • 泛型
    • 不透明类型
    • 自动引用计数
    • 内存安全
    • 访问控制
    • 高级运算符
  • 语言参考
    • 关于语言参考
    • 词法结构
    • 类型
    • 表达式
    • 语句
    • 声明
    • 特性
    • 模式
    • 泛型参数
    • 语法总结
  • 翻译贡献者
    • 翻译贡献者
由 GitBook 提供支持
在本页

这有帮助吗?

  1. 语言参考

关于语言参考

上一页语言参考下一页词法结构

最后更新于4年前

这有帮助吗?

本书的这一节描述了 Swift 编程语言的形式语法。这里描述的语法是为了帮助您了解该语言的更多细节,而不是让您直接实现一个解析器或编译器。

Swift 语言相对较小,这是由于 Swift 代码中常用的类型、函数以及运算符都已经在 Swift 标准库中定义了。虽然这些类型、函数和运算符并不是 Swift 语言自身的一部分,但是它们被广泛应用于本书的讨论和代码范例中。

如何阅读语法

用来描述 Swift 编程语言形式语法的符号遵循下面几个约定:

  • 箭头(→)用来标记语法产式,可以理解为“可由……构成”。

  • 斜体文字用来表示句法类型,并出现在一个语法产式规则两侧。

  • 标记语言和标点符号由固定宽度的粗体文本表示,只出现在一个语法产式规则的右侧。

  • 可供选择的语法产式由竖线(|)分隔。当可选用的语法产式太多时,为了阅读方便,它们将被拆分为多行语法产式规则。

  • 少数情况下,标准字体文本被用来描述一个语法产生规则的右手侧内容。

  • 可选的句法类型和文本标记用尾标 opt 来标记。

举个例子,getter-setter 方法块的语法定义如下:

getter-setter 方法块语法

getter-setter 方法块 → { 可选 } | { }

这个定义表明,一个 getter-setter 方法块可以由一个 getter 分句后跟一个可选的 setter 分句构成,然后用大括号括起来,或者由一个 setter 分句后跟一个 getter 分句构成,然后用大括号括起来。上述的语法产式等价于下面的两个语法产式, :

getter-setter 方法块语法

getter-setter 方法块 → { 可选 }

getter-setter 方法块 → { }

getter 子句
setter 子句
setter 子句
getter 子句
getter 子句
setter 子句
setter 子句
getter 子句