# 語法總結(Summary of the Grammar)
-----
> 1.0
> 翻譯:[stanzhai](https://github.com/stanzhai)
> 校對:[xielingwang](https://github.com/xielingwang)
> 2.0
> 翻譯+校對:[miaosiqi](https://github.com/miaosiqi)
本頁包含內容:
[TOC=2,3]
## 語句
> 語句語法
> *語句* → [*表達式*](238111) **;** _可選_
> *語句* → [*聲明*](238113) **;** _可選_
> *語句* → [*循環語句*](238112) **;** _可選_
> *語句* → [*分支語句*](238112) **;** _可選_
> *語句* → [*標記語句(Labeled Statement)*](238112)
> *語句* → [*控制轉移語句*](238112) **;** _可選_
> *語句* → [*延遲語句*](TODO) **;** _可選_
> *語句* → [*執行語句*](TODO) **;** _可選_
> *多條語句(Statements)* → [*語句*](238112) _可選_
<!-- -->
> 循環語句語法
> *循環語句* → [*for語句*](238112)
> *循環語句* → [*for-in語句*](238112)
> *循環語句* → [*while語句*](238112)
> *循環語句* → [*repeat-while語句*](238112)
<!-- -->
> For 循環語法
> *for語句* → **for** [*for初始條件*](238112)
> *for語句* → **for** **(** [*for初始條件*](238112)
> *for初始條件* → [*變量聲明*](238113)
<!-- -->
> For-In 循環語法
> *for-in語句* → **for case** _可選_ [*模式*](238115) _可選_
<!-- -->
> While 循環語法
> *while語句* → **while** [*條件從句*](238112)
> *條件從句* → [*表達式*](TODO)
> *條件從句* → [*表達式*](TODO) *,* [*表達式集*]()
>*條件從句* → [*表達式集*](TODO)
> *條件從句* → [*可用條件 (availability-condition*)](TODO) *|* [*表達式集*]()
> *條件集* → [*條件*](TODO) *|* [*條件*](TODO) *,* [*條件集*]()
> *條件* → [*可用條件(availability-condition)*](TODO) *|* [*個例條件(case-condition)*](TODO) *|* [*可選綁定條件(optional-binding-condition)*](TODO)
> *個例條件(case-condition)* → **case** [*模式*](TODO) [*構造器*](TODO) [*where從句*](TODO)_可選_
> *可選綁定條件(optional-binding-condition)* → [*可選綁定頭(optional-binding-head)*](TODO) [*可選綁定連續集(optional-binding-continuation-list)*](TODO) _可選_ [*where從句*](TODO) _可選_
> *可選綁定頭(optional-binding-head)* → **let** [*模式 構造器*](TODO) *|* **var** [*模式 構造器*](TODO)
> *可選綁定連續集(optional-binding-contiuation-list)* → [*可選綁定連續(optional-binding-contiuation)*](TODO) *|* [*可選綁定連續(optional-binding-contiuation)*](TODO) *,* [*可選綁定連續集(optional-binding-contiuation-list)*](TODO)
> *可選綁定連續(optional-binding-continuation)* → [*模式 構造器*](TODO) *|* [*可選綁定頭(optional-binding-head)*](TODO)
<!-- -->
> Repeat-While語句語法
*repeat-while-statement* → **repeat** [*代碼塊*](TODO) **while** [*表達式*](TODO)
<!-- -->
> 分支語句語法
> *分支語句* → [*if語句*](238112)
> *分支語句* → [*guard語句*](TODO)
> *分支語句* → [*switch語句*](238112)
<!-- -->
> If語句語法
> *if語句* → **if** [*條件從句*](TODO) [*代碼塊*](TODO) [*else從句(Clause)*](TODO) _可選_
> *else從句(Clause)* → **else** [*代碼塊*](238113)
<!-- -->
>Guard 語句語法
>*guard語句* → **guard** [*條件從句*](TODO) **else** [*代碼塊*](TODO)
<!-- -->
> Switch語句語法
> *switch語句* → **switch** [*表達式*](238111) _可選_ **}**
> *SwitchCase集* → [*SwitchCase*](238112) _可選_
> *SwitchCase* → [*case標簽*](238112)
> *SwitchCase* → [*case標簽*](238112) **;**
> *case標簽* → **case** [*case項集*](238112) **:**
> *case項集* → [*模式*](238115)
> *default標簽* → **default** **:**
> *where從句* → **where** [*where表達式*](TODO)
> *where表達式* → [*表達式*](TODO)
<!-- -->
> 標記語句語法
> *標記語句(Labeled Statement)* → [*語句標簽*](238112)
> *語句標簽* → [*標簽名稱*](238112) **:**
> *標簽名稱* → [*標識符*](238109)
<!-- -->
> 控制傳遞語句(Control Transfer Statement) 語法
> *控制傳遞語句* → [*break語句*](238112)
> *控制傳遞語句* → [*continue語句*](238112)
> *控制傳遞語句* → [*fallthrough語句*](238112)
> *控制傳遞語句* → [*return語句*](238112)
> *控制傳遞語句* → [*throw語句*](TODO)
<!-- -->
> Break 語句語法
> *break語句* → **break** [*標簽名稱*](238112) _可選_
<!-- -->
> Continue 語句語法
> *continue語句* → **continue** [*標簽名稱*](238112) _可選_
<!-- -->
> Fallthrough 語句語法
> *fallthrough語句* → **fallthrough**
<!-- -->
> Return 語句語法
> *return語句* → **return** [*表達式*](238111) _可選_
<!-- -->
>可用條件(Availability Condition)語法
>*可用條件(availability-condition)* → **#available** **(** [*多可用參數*(availability-arguments)](TODO) **)**
>*多可用參數(availability- arguments)* → [*可用參數(availability-argument)*](TODO)|[*可用參數(availability-argument)*](TODO) , [多可用參數(availability-arguments)](TODO)
>*可用參數(availability- argument)* → [*平臺名(platform-name)*](TODO) [*平臺版本(platform-version)*](TODO)
>*可用參數(availability- argument)* → *
>*平臺名* → **iOS** | **iOSApplicationExtension**
>*平臺名* → **OSX** | **OSXApplicationExtension**
>*平臺名* → **watchOS**
>*平臺版本* → [*十進制數(decimal-digits)*](TODO)
>*平臺版本* → [*十進制數(decimal-digits)*](TODO) . [*十進制數(decimal-digits)*](TODO)
>*平臺版本* → [*十進制數(decimal-digits)*](TODO) **.** [*十進制數(decimal-digits)*](TODO) **.** [*十進制數(decimal-digits)*](TODO))
<!-- -->
>拋出語句(Throw Statement)語法
>*拋出語句(throw-statement)* → **throw** [*表達式(expression)*](TODO)
<!-- -->
>延遲語句 (defer-statement)語法
>*延遲語句(defer-statement)* → **defer** [*代碼塊*](TODO)
<!-- -->
>執行語句(do-statement)語法
>*執行語句(do-statement)* → **do** [*代碼塊*](TODO) [*catch-clauses*](TODO) _可選_
>*catch-clauses* → [*catch-clause*](TODO) [*catch-clauses*](TODO) _可選_
>*catch-clauses* → **catch** [*模式(pattern)*](TODO) _可選_ [*where-clause*](TODO) _可選_ [*代碼塊(code-block)*](TODO) _可選_
## 泛型參數
> 泛型形參從句(Generic Parameter Clause) 語法
> *泛型參數從句* → **<** [*泛型參數集*](GenericParametersAndArguments.md) _可選_ **>**
> *泛型參數集* → [*泛形參數*](GenericParametersAndArguments.md)
> *泛形參數* → [*類型名稱*](238110)
> *泛形參數* → [*類型名稱*](238110)
> *泛形參數* → [*類型名稱*](238110)
> *約束從句* → **where** [*約束集*](GenericParametersAndArguments.md)
> *約束集* → [*約束*](GenericParametersAndArguments.md)
> *約束* → [*一致性約束*](GenericParametersAndArguments.md)
> *一致性約束* → [*類型標識*](238110)
> *一致性約束* → [*類型標識*](238110)
> *同類型約束* → [*類型標識*](238110)
<!-- -->
> 泛型實參從句語法
> *(泛型參數從句Generic Argument Clause)* → **<** [*泛型參數集*](GenericParametersAndArguments.md) **>**
> *泛型參數集* → [*泛型參數*](GenericParametersAndArguments.md)
> *泛型參數* → [*類型*](238110)
## 聲明 (Declarations)
> 聲明語法
> *聲明* → [*導入聲明*](238113)
> *聲明* → [*常量聲明*](238113)
> *聲明* → [*變量聲明*](238113)
> *聲明* → [*類型別名聲明*](238113)
> *聲明* → [*函數聲明*](238113)
> *聲明* → [*枚舉聲明*](238113)
> *聲明* → [*結構體聲明*](238113)
> *聲明* → [*類聲明*](238113)
> *聲明* → [*協議聲明*](238113)
> *聲明* → [*構造器聲明*](238113)
> *聲明* → [*析構器聲明*](238113)
> *聲明* → [*擴展聲明*](238113)
> *聲明* → [*下標聲明*](238113)
> *聲明* → [*運算符聲明*](238113)
> *聲明(Declarations)集* → [*聲明*](238113) _可選_
<!-- -->
> 頂級(Top Level) 聲明語法
> *頂級聲明* → [*多條語句(Statements)*](238112) _可選_
<!-- -->
> 代碼塊語法
> *代碼塊* → **{** [*多條語句(Statements)*](238112) _可選_ **}**
<!-- -->
> 導入(Import)聲明語法
> *導入聲明* → [*屬性(Attributes)集*](238114)
> *導入類型* → **typealias** | **struct** | **class** | **enum** | **protocol** | **var** | **func**
> *導入路徑* → [*導入路徑標識符*](238113)
> *導入路徑標識符* → [*標識符*](238109)
<!-- -->
> 常數聲明語法
> *常量聲明* → [*屬性(Attributes)集*](238114)
> *模式構造器集* → [*模式構造器*](238113)
> *模式構造器* → [*模式*](238115) _可選_
> *構造器* → **=** [*表達式*](238111)
<!-- -->
> 變量聲明語法
> *變量聲明* → [*變量聲明頭(Head)*](238113)
> *變量聲明* → [*變量聲明頭(Head)*](238113)
> *變量聲明* → [*變量聲明頭(Head)*](238113)
> *變量聲明* → [*變量聲明頭(Head)*](238113)
> *變量聲明* → [*變量聲明頭(Head)*](238113)
> *變量聲明頭(Head)* → [*屬性(Attributes)集*](238114) _可選_ **var**
> *變量名稱* → [*標識符*](238109)
> *getter-setter塊* → **{** [*getter從句*](238113) _可選_ **}**
> *getter-setter塊* → **{** [*setter從句*](238113) **}**
> *getter從句* → [*屬性(Attributes)集*](238114)
> *setter從句* → [*屬性(Attributes)集*](238114)
> *setter名稱* → **(** [*標識符*](238109)**
> *getter-setter關鍵字(Keyword)塊* → **{** [*getter關鍵字(Keyword)從句*](238113) _可選_ **}**
> *getter-setter關鍵字(Keyword)塊* → **{** [*setter關鍵字(Keyword)從句*](238113) **}**
> *getter關鍵字(Keyword)從句* → [*屬性(Attributes)集*](238114) _可選_ **get**
> *setter關鍵字(Keyword)從句* → [*屬性(Attributes)集*](238114) _可選_ **set**
> *willSet-didSet代碼塊* → **{** [*willSet從句*](238113) _可選_ **}**
> *willSet-didSet代碼塊* → **{** [*didSet從句*](238113) **}**
> *willSet從句* → [*屬性(Attributes)集*](238114)
> *didSet從句* → [*屬性(Attributes)集*](238114)
<!-- -->
> 類型別名聲明語法
> *類型別名聲明* → [*類型別名頭(Head)*](238113)
> *類型別名頭(Head)* → [*屬性*](TODO) _可選_ [*訪問級別修改符(access-level-modifier)*](TODO) **typealias** [*類型別名名稱*](238113)
> *類型別名名稱* → [*標識符*](238109)
> *類型別名賦值* → **=** [*類型*](238110)
<!-- -->
> 函數聲明語法
> *函數聲明* → [*函數頭*](238113)
> *函數頭* → [*屬性(Attributes)集*](238114) _可選_ **func**
> *函數名* → [*標識符*](238109)
> *函數簽名(Signature)* → [*parameter-clauses*](238113) _可選_
> *函數簽名(Signature)* → [*parameter-clauses*](238113) _可選_
> *函數結果* → **->** [*屬性(Attributes)集*](238114)
> *函數體* → [*代碼塊*](238113)
> *參數從句* → [*參數從句*](238113) _可選_
> *參數從句* → **(** **)** | **(** [*參數集*](238113)**
> *參數集* → [*參數*](238113)
> *參數* → **inout** _可選_ **let** _可選_ [*外部參數名*](238113) _可選_
> *參數* → **inout** _可選_ **var** [*外部參數名*](238113) _可選_
> *參數* → [*屬性(Attributes)集*](238114)
> *外部參數名* → [*標識符*](238109) | **_**
> *本地參數名* → [*標識符*](238109) | **_**
> *默認參數從句* → **=** [*表達式*](238111)
<!-- -->
> 枚舉聲明語法
> *枚舉聲明* → [*屬性(Attributes)集*](238114)
> *枚舉聲明* → [*屬性(Attributes)集*](238114)
> *聯合式枚舉* → **enum** [*枚舉名*](238113) _可選_ **}**
> *聯合樣式枚舉成員* → [*union-style-enum-member*](238113) _可選_
> *聯合樣式枚舉成員* → [*聲明*](238113)
> *聯合式(Union Style)的枚舉case從句* → [*屬性(Attributes)集*](238114)
> *聯合式(Union Style)的枚舉case集* → [*聯合式(Union Style)的case*](238113)
> *聯合式(Union Style)的枚舉case* → [*枚舉的case名*](238113) _可選_
> *枚舉名* → [*標識符*](238109)
> *枚舉的case名* → [*標識符*](238109)
> *原始值式枚舉* → **enum** [*枚舉名*](238113) _可選_ **}**
> *原始值式枚舉成員集* → [*原始值式枚舉成員*](238113) _可選_
> *原始值式枚舉成員* → [*聲明*](238113)
> *原始值式枚舉case從句* → [*屬性(Attributes)集*](238114)
> *原始值式枚舉case集* → [*原始值式枚舉case*](238113)
> *原始值式枚舉case* → [*枚舉的case名*](238113) _可選_
> *原始值賦值* → **=** [*字面量*](238109)
> *原始值字面量(raw-value-literal)* → [*數值字面量*](TODO) | [*字符串字面量*](TODO) | [*布爾字面量*](TODO)
<!-- -->
> 結構體聲明語法
> *結構體聲明* → [*屬性(Attributes)集*](238114)
> *結構體名稱* → [*標識符*](238109)
> *結構體主體* → **{** [*聲明(Declarations)集*](238113) _可選_ **}**
<!-- -->
> 類聲明語法
> *類聲明* → [*屬性(Attributes)集*](238114)
> *類名* → [*標識符*](238109)
> *類主體* → **{** [*聲明(Declarations)集*](238113) _可選_ **}**
<!-- -->
> 協議(Protocol)聲明語法
> *協議聲明* → [*屬性(Attributes)集*](238114)
> *協議名* → [*標識符*](238109)
> *協議主體* → **{** [*協議成員聲明(Declarations)集*](238113) _可選_ **}**
> *協議成員聲明* → [*協議屬性聲明*](238113)
> *協議成員聲明* → [*協議方法聲明*](238113)
> *協議成員聲明* → [*協議構造器聲明*](238113)
> *協議成員聲明* → [*協議下標聲明*](238113)
> *協議成員聲明* → [*協議關聯類型聲明*](238113)
> *協議成員聲明(Declarations)集* → [*協議成員聲明*](238113) _可選_
<!-- -->
> 協議屬性聲明語法
> *協議屬性聲明* → [*變量聲明頭(Head)*](238113)
<!-- -->
> 協議方法聲明語法
> *協議方法聲明* → [*函數頭*](238113)
<!-- -->
> 協議構造器聲明語法
> *協議構造器聲明* → [*構造器頭(Head)*](238113)
<!-- -->
> 協議下標聲明語法
> *協議下標聲明* → [*下標頭(Head)*](238113)
<!-- -->
> 協議關聯類型聲明語法
> *協議關聯類型聲明* → [*類型別名頭(Head)*](238113) _可選_
<!-- -->
> 構造器聲明語法
> *構造器聲明* → [*構造器頭(Head)*](238113)
> *構造器頭(Head)* → [*屬性(Attributes)集*](238114) _可選_ **init**
> *構造器頭(Head)* → [*屬性(Attributes)集*](238114) _可選_ **init ?**
> *構造器頭(Head)* → [*屬性(Attributes)集*](238114) _可選_ **init !**
> *構造器主體* → [*代碼塊*](238113)
<!-- -->
> 析構器聲明語法
> *析構器聲明* → [*屬性(Attributes)集*](238114)
<!-- -->
> 擴展(Extension)聲明語法
> *擴展聲明* → [*訪問級別修改器*](TODO) _可選_ **extension** [*類型標識*](238110)
> *extension-body* → **{** [*聲明(Declarations)集*](238113) _可選_ **}**
<!-- -->
> 下標聲明語法
> *下標聲明* → [*下標頭(Head)*](238113)
> *下標聲明* → [*下標頭(Head)*](238113)
> *下標聲明* → [*下標頭(Head)*](238113)
> *下標頭(Head)* → [*屬性(Attributes)集*](238114)
> *下標結果(Result)* → **->** [*屬性(Attributes)集*](238114)
<!-- -->
> 運算符聲明語法
> *運算符聲明* → [*前置運算符聲明*](238113)
> *前置運算符聲明* → **prefix** **運算符** [*運算符*](238109) **{** **}**
> *后置運算符聲明* → **postfix** **運算符** [*運算符*](238109) **{** **}**
> *中置運算符聲明* → **infix** **運算符** [*運算符*](238109) _可選_ **}**
> *中置運算符屬性集* → [*優先級從句*](238113) _可選_
> *優先級從句* → **precedence** [*優先級水平*](238113)
> *優先級水平* → 數值 0 到 255,首末項包括在內
> *結和性從句* → **associativity** [*結和性*](238113)
> *結和性* → **left** | **right** | **none**
<!-- -->
聲明修改器語法
> *聲明修改器* → **類** | **便捷(convenience)** | **動態(dynamic)** | **final** | **中置(infix)** | **lazy** | **可變(mutating)** | **不可變(nonmutating)** | **可選(optional)** | **改寫(override)** | **后置** | **前置** | **required** | **static** | **unowned** | **unowned(safe)** | **unowned(unsafe)** | **弱(weak)**
> *聲明修改器* → [*訪問級別聲明器(access-level-modifier)*](TODO)
> *聲明修改集* → [*聲明修改器*](TODO) [*聲明修改器集*](TODO) _可選_
> *訪問級別修改器* → **內部的** | **內部的(set)**
> *訪問級別修改器* → **私有的** | **私有的(set)**
> *訪問級別修改器* → **公共的**
| **公共的(set)**
> *訪問級別修改器集* →[*訪問級別修改器*](TODO) [*訪問級別修改器集*](TODO) _可選_
## 模式
> 模式(Patterns) 語法
> *模式* → [*通配符模式*](238115) _可選_
> *模式* → [*標識符模式*](238115) _可選_
> *模式* → [*值綁定模式*](238115)
> *模式* → [*元組模式*](238115) _可選_
> *模式* → [*枚舉個例模式*](238115)
> *模式* → [*可選模式*](TODO)
> *模式* → [*類型轉換模式*](238115)
> *模式* → [*表達式模式*](238115)
<!-- -->
> 通配符模式語法
> *通配符模式* → **_**
<!-- -->
> 標識符模式語法
> *標識符模式* → [*標識符*](238109)
<!-- -->
> 值綁定(Value Binding)模式語法
> *值綁定模式* → **var** [*模式*](238115)
<!-- -->
> 元組模式語法
> *元組模式* → **(** [*元組模式元素集*](238115)**
> *元組模式元素集* → [*元組模式元素*](238115)
> *元組模式元素* → [*模式*](238115)
<!-- -->
> 枚舉用例模式語法
> *enum-case-pattern* → [*類型標識*](238110) _可選_
<!-- -->
> 可選模式語法
> *可選模式* → [*識別符模式*](TODO) **?**
<!-- -->
> 類型轉換模式語法
> *類型轉換模式(type-casting-pattern)* → [*is模式*](238115)
> *is模式* → **is** [*類型*](238110)
> *as模式* → [*模式*](238115)
<!-- -->
> 表達式模式語法
> *表達式模式* → [*表達式*](238111)
## 屬性
> 屬性語法
> *屬性* → **@** [*屬性名*](238114) _可選_
> *屬性名* → [*標識符*](238109)
> *屬性參數從句* → **(** [*平衡令牌集*](238114)**
> *屬性(Attributes)集* → [*屬性*](238114) _可選_
> *平衡令牌集* → [*平衡令牌*](238114) _可選_
> *平衡令牌* → **(** [*平衡令牌集*](238114)**
> *平衡令牌* → **[** [*平衡令牌集*](238114) _可選_ **]**
> *平衡令牌* → **{** [*平衡令牌集*](238114) _可選_ **}**
> *平衡令牌* → **任意標識符, 關鍵字, 字面量或運算符**
> *平衡令牌* → **任意標點除了(, ), [, ], {, 或 }**
## 表達式
> 表達式語法
> *表達式* → [*try-operator*](TODO) _可選_ [*前置表達式*](238111) _可選_
> *表達式集* → [*表達式*](238111)
<!-- -->
> 前置表達式語法
> *前置表達式* → [*前置運算符*](238109)
> *前置表達式* → [*寫入寫出(in-out)表達式*](238111)
> *寫入寫出(in-out)表達式* → **&** [*標識符*](238109)
<!-- -->
> try表達式語法
> *try-operator* → **try** | **try !**
<!-- -->
> 二元表達式語法
> *二元表達式* → [*二元運算符*](238109)
> *二元表達式* → [*賦值運算符*](238111)
> *二元表達式* → [*條件運算符*](238111)
> *二元表達式* → [*類型轉換運算符*](238111)
> *二元表達式集* → [*二元表達式*](238111) _可選_
<!-- -->
> 賦值運算符語法
> *賦值運算符* → **=**
<!-- -->
> 三元條件運算符語法
> *三元條件運算符* → **?** [*表達式*](238111) **:**
<!-- -->
> 類型轉換運算符語法
> *類型轉換運算符* → **is** [*類型*](238110)
> *類型轉換運算符* → **as** [*類型*](238110)
> *類型轉換運算符* → **as ?** [*類型*](238110)
> *類型轉換運算符* → **as !** [*類型*](238110)
<!-- -->
> 主表達式語法
> *主表達式* → [*標識符*](238109) _可選_
> *主表達式* → [*字面量表達式*](238111)
> *主表達式* → [*self表達式*](238111)
> *主表達式* → [*超類表達式*](238111)
> *主表達式* → [*閉包表達式*](238111)
> *主表達式* → [*圓括號表達式*](238111)
> *主表達式* → [*隱式成員表達式*](238111)
> *主表達式* → [*通配符表達式*](238111)
<!-- -->
> 字面量表達式語法
> *字面量表達式* → [*字面量*](238109)
> *字面量表達式* → [*數組字面量*](238111)
> *字面量表達式* → **__FILE__** | **__LINE__** | **__COLUMN__** | **__FUNCTION__**
> *數組字面量* → **[** [*數組字面量項集*](238111) _可選_ **]**
> *數組字面量項集* → [*數組字面量項*](238111)
> *數組字面量項* → [*表達式*](238111)
> *字典字面量* → **[** [*字典字面量項集*](238111) **]** | **[** **:** **]**
> *字典字面量項集* → [*字典字面量項*](238111)
> *字典字面量項* → [*表達式*](238111)
<!-- -->
> Self 表達式語法
> *self表達式* → **self**
> *self表達式* → **self** **.** [*標識符*](238109)
> *self表達式* → **self** **[** [*表達式*](238111) **]**
> *self表達式* → **self** **.** **init**
<!-- -->
> 超類表達式語法
> *超類表達式* → [*超類方法表達式*](238111)
> *超類方法表達式* → **super** **.** [*標識符*](238109)
> *超類下標表達式* → **super** **[** [*表達式*](238111) **]**
> *超類構造器表達式* → **super** **.** **init**
<!-- -->
> 閉包表達式語法
> *閉包表達式* → **{** [*閉包簽名(Signational)*](238111) **}**
> *閉包簽名(Signational)* → [*參數從句*](238113) _可選_ **in**
> *閉包簽名(Signational)* → [*標識符集*](238109) _可選_ **in**
> *閉包簽名(Signational)* → [*捕獲(Capature)集*](238111) _可選_ **in**
> *閉包簽名(Signational)* → [*捕獲(Capature)集*](238111) _可選_ **in**
> *閉包簽名(Signational)* → [*捕獲(Capature)集*](238111) **in**
> *捕獲(Capature)集* → **[** [*捕獲(Capature)說明符*](238111) **]**
> *捕獲(Capature)說明符* → **weak** | **unowned** | **unowned(safe)** | **unowned(unsafe)**
<!-- -->
> 隱式成員表達式語法
> *隱式成員表達式* → **.** [*標識符*](238109)
<!-- -->
> 圓括號表達式(Parenthesized Expression)語法
> *圓括號表達式* → **(** [*表達式元素集*](238111)**
> *表達式元素集* → [*表達式元素*](238111)
> *表達式元素* → [*表達式*](238111)
<!-- -->
> 通配符表達式語法
> *通配符表達式* → **_**
<!-- -->
> 后置表達式語法
> *后置表達式* → [*主表達式*](238111)
> *后置表達式* → [*后置表達式*](238111)
> *后置表達式* → [*函數調用表達式*](238111)
> *后置表達式* → [*構造器表達式*](238111)
> *后置表達式* → [*顯示成員表達式*](238111)
> *后置表達式* → [*后置self表達式*](238111)
> *后置表達式* → [*動態類型表達式*](238111)
> *后置表達式* → [*下標表達式*](238111)
> *后置表達式* → [*強制取值(Forced Value)表達式*](238111)
> *后置表達式* → [*可選鏈(Optional Chaining)表達式*](238111)
<!-- -->
> 函數調用表達式語法
> *函數調用表達式* → [*后置表達式*](238111)
> *函數調用表達式* → [*后置表達式*](238111)
> *后置閉包(Trailing Closure)* → [*閉包表達式*](238111)
<!-- -->
> 構造器表達式語法
> *構造器表達式* → [*后置表達式*](238111) **.** **init**
<!-- -->
> 顯式成員表達式語法
> *顯示成員表達式* → [*后置表達式*](238111)
> *顯示成員表達式* → [*后置表達式*](238111) _可選_
<!-- -->
> 后置Self 表達式語法
> *后置self表達式* → [*后置表達式*](238111) **.** **self**
<!-- -->
> 動態類型表達式語法
> *動態類型表達式* → [*后置表達式*](238111) **.** **dynamicType**
<!-- -->
> 附屬腳本表達式語法
> *附屬腳本表達式* → [*后置表達式*](238111) **]**
<!-- -->
> 強制取值(Forced Value)語法
> *強制取值(Forced Value)表達式* → [*后置表達式*](238111) **!**
<!-- -->
> 可選鏈表達式語法
> *可選鏈表達式* → [*后置表達式*](238111) **?**
## 詞法結構
> 標識符語法
> *標識符* → [*標識符頭(Head)*](238109) _可選_
> *標識符* → [*標識符頭(Head)*](238109) _可選_
> *標識符* → [*隱式參數名*](238109)
> *標識符集* → [*標識符*](238109)
> *標識符頭(Head)* → Upper- or lowercase letter A through Z
> *標識符頭(Head)* → _
> *標識符頭(Head)* → U+00A8, U+00AA, U+00AD, U+00AF, U+00B2–U+00B5, or U+00B7–U+00BA
> *標識符頭(Head)* → U+00BC–U+00BE, U+00C0–U+00D6, U+00D8–U+00F6, or U+00F8–U+00FF
> *標識符頭(Head)* → U+0100–U+02FF, U+0370–U+167F, U+1681–U+180D, or U+180F–U+1DBF
> *標識符頭(Head)* → U+1E00–U+1FFF
> *標識符頭(Head)* → U+200B–U+200D, U+202A–U+202E, U+203F–U+2040, U+2054, or U+2060–U+206F
> *標識符頭(Head)* → U+2070–U+20CF, U+2100–U+218F, U+2460–U+24FF, or U+2776–U+2793
> *標識符頭(Head)* → U+2C00–U+2DFF or U+2E80–U+2FFF
> *標識符頭(Head)* → U+3004–U+3007, U+3021–U+302F, U+3031–U+303F, or U+3040–U+D7FF
> *標識符頭(Head)* → U+F900–U+FD3D, U+FD40–U+FDCF, U+FDF0–U+FE1F, or U+FE30–U+FE44
> *標識符頭(Head)* → U+FE47–U+FFFD
> *標識符頭(Head)* → U+10000–U+1FFFD, U+20000–U+2FFFD, U+30000–U+3FFFD, or U+40000–U+4FFFD
> *標識符頭(Head)* → U+50000–U+5FFFD, U+60000–U+6FFFD, U+70000–U+7FFFD, or U+80000–U+8FFFD
> *標識符頭(Head)* → U+90000–U+9FFFD, U+A0000–U+AFFFD, U+B0000–U+BFFFD, or U+C0000–U+CFFFD
> *標識符頭(Head)* → U+D0000–U+DFFFD or U+E0000–U+EFFFD
> *標識符字符* → 數值 0 到 9
> *標識符字符* → U+0300–U+036F, U+1DC0–U+1DFF, U+20D0–U+20FF, or U+FE20–U+FE2F
> *標識符字符* → [*標識符頭(Head)*](238109)
> *標識符字符集* → [*標識符字符*](238109) _可選_
> *隱式參數名* → **$** [*十進制數字集*](238109)
<!-- -->
> 字面量語法
> *字面量* → [*數值型字面量*](238109)
> *數值型字面量* → **-** _可選_ [*整形字面量*](TODO) | **-** _可選_ [*浮點型字面量*](TODO)
> *布爾字面量* → **true** | **false**
> *空字面量* → **nil**
<!-- -->
> 整型字面量語法
> *整型字面量* → [*二進制字面量*](238109)
> *整型字面量* → [*八進制字面量*](238109)
> *整型字面量* → [*十進制字面量*](238109)
> *整型字面量* → [*十六進制字面量*](238109)
> *二進制字面量* → **0b** [*二進制數字*](238109) _可選_
> *二進制數字* → 數值 0 到 1
> *二進制字面量字符* → [*二進制數字*](238109) | **_**
> *二進制字面量字符集* → [*二進制字面量字符*](238109) _可選_
> *八進制字面量* → **0o** [*八進制數字*](238109) _可選_
> *八進字數字* → 數值 0 到 7
> *八進制字符* → [*八進制數字*](238109) | **_**
> *八進制字符集* → [*八進制字符*](238109) _可選_
> *十進制字面量* → [*十進制數字*](238109) _可選_
> *十進制數字* → 數值 0 到 9
> *十進制數字集* → [*十進制數字*](238109) _可選_
> *十進制字面量字符* → [*十進制數字*](238109) | **_**
> *十進制字面量字符集* → [*十進制字面量字符*](238109) _可選_
> *十六進制字面量* → **0x** [*十六進制數字*](238109) _可選_
> *十六進制數字* → 數值 0 到 9, a through f, or A through F
> *十六進制字符* → [*十六進制數字*](238109) | **_**
> *十六進制字面量字符集* → [*十六進制字符*](238109) _可選_
<!-- -->
> 浮點型字面量語法
> *浮點數字面量* → [*十進制字面量*](238109) _可選_
> *浮點數字面量* → [*十六進制字面量*](238109)
> *十進制分數* → **.** [*十進制字面量*](238109)
> *十進制指數* → [*浮點數e*](238109)
> *十六進制分數* → **.** [*十六進制數*](238109)
[*十六進制字面量字符集*](TODO)_可選_
> *十六進制指數* → [*浮點數p*](238109)
> *浮點數e* → **e** | **E**
> *浮點數p* → **p** | **P**
> *正負號* → **+** | **-**
<!-- -->
> 字符串型字面量語法
> *字符串字面量* → **"** [*引用文本*](238109) **"**
> *引用文本* → [*引用文本條目*](238109) _可選_
> *引用文本條目* → [*轉義字符*](238109)
> *引用文本條目* → **(** [*表達式*](238111)**
> *引用文本條目* → 除了"-, \-, U+000A, or U+000D的所有Unicode的字符
> *轉義字符* → **/0** | **\\** | **\t** | **\n** | **\r** | **\"** | **\'**
> *轉義字符* → **\u** **{** [*十六進制標量數字集*](TODO) **}**
> *unicode標量數字集* → Between one and eight hexadecimal digits
<!-- -->
> 運算符語法語法
> *運算符* → [*運算符頭*](238109) _可選_
> *運算符* → [*點運算符頭*](TODO) [*點運算符字符集*](TODO) _可選_
> *運算符字符* → **/** | **=** | **-** | **+** | **!** | ***** | **%** | **<** | **>** | **&** | **|** | **^** | **~** | **?**
> *運算符頭* → U+00A1–U+00A7
> *運算符頭* → U+00A9 or U+00AB
> *運算符頭* → U+00AC or U+00AE
> *運算符頭* → U+00B0–U+00B1, U+00B6, U+00BB, U+00BF, U+00D7, or U+00F7
> *運算符頭* → U+2016–U+2017 or U+2020–U+2027
> *運算符頭* → U+2030–U+203E
> *運算符頭* → U+2041–U+2053
> *運算符頭* → U+2055–U+205E
> *運算符頭* → U+2190–U+23FF
> *運算符頭* → U+2500–U+2775
> *運算符頭* → U+2794–U+2BFF
> *運算符頭* → U+2E00–U+2E7F
> *運算符頭* → U+3001–U+3003
> *運算符頭* → U+3008–U+3030
> *運算符字符* → [*運算符頭*](TODO)
> *運算符字符* → U+0300–U+036F
> *運算符字符* → U+1DC0–U+1DFF
> *運算符字符* → U+20D0–U+20FF
> *運算符字符* → U+FE00–U+FE0F
> *運算符字符* → U+FE20–U+FE2F
> *運算符字符* → U+E0100–U+E01EF
> *運算符字符集* → [*運算符字符*](TODO) [*運算符字符集*](TODO)_可選_
> *點運算符頭* → **..**
> *點運算符字符* → **.** | [*運算符字符*](TODO)
> *點運算符字符集* → [*點運算符字符*](TODO) [*點運算符字符集*](TODO) _可選_
> *二元運算符* → [*運算符*](238109)
> *前置運算符* → [*運算符*](238109)
> *后置運算符* → [*運算符*](238109)
## 類型
> 類型語法
> *類型* → [*數組類型*](238110)
<!-- -->
> 類型注解語法
> *類型注解* → **:** [*屬性(Attributes)集*](238114)
<!-- -->
> 類型標識語法
> *類型標識* → [*類型名稱*](238110)
> *類型名* → [*標識符*](238109)
<!-- -->
> 元組類型語法
> *元組類型* → **(** [*元組類型主體*](238110)**
> *元組類型主體* → [*元組類型的元素集*](238110) **...** _可選_
> *元組類型的元素集* → [*元組類型的元素*](238110)
> *元組類型的元素* → [*屬性(Attributes)集*](238114)
> *元素名* → [*標識符*](238109)
<!-- -->
> 函數類型語法
> *函數類型* → [*類型*](238110)
> *函數類型* → [*類型*](TODO) **rethrows** **->** [*類型*](TODO)
<!-- -->
> 數組類型語法
> *數組類型* → **[** [*類型*](238110) **]**
<!-- -->
> 字典類型語法
> *字典類型* → **[** [*類型 **:** 類型*](TODO) **]**
<!-- -->
> 可選類型語法
> *可選類型* → [*類型*](238110) **?**
<!-- -->
> 隱式解析可選類型(Implicitly Unwrapped Optional Type)語法
> *隱式解析可選類型* → [*類型*](238110) **!**
<!-- -->
> 協議合成類型語法
> *協議合成類型* → **protocol** **<** [*協議標識符集*](238110) _可選_ **>**
> *協議標識符集* → [*協議標識符*](238110)
> *協議標識符* → [*類型標識符*](238110)
<!-- -->
> 元(Metatype)類型語法
> *元類型* → [*類型*](238110) **.** **Protocol**
<!-- -->
> 類型繼承從句語法
> *類型繼承從句* → **:** [*類條件(class-requirement))*](TODO) **,** [*類型繼承集*](238110)
> *類型繼承從句* → **:** [*類條件(class-requirement))*](TODO)
> *類型繼承從句* → **:** [*類型繼承集*](TODO)
> *類型繼承集* → [*類型標識符*](238110)
> *類條件* → **class**
- 關于
- 歡迎使用 Swift
- 關于 Swift
- Swift 初見
- Swift 版本歷史記錄
- Swift 1.0 發布內容
- Swift 教程
- 基礎部分
- 基本運算符
- 字符串和字符
- 集合類型
- 控制流
- 函數
- 閉包
- 枚舉
- 類和結構體
- 屬性
- 方法
- 下標
- 繼承
- 構造過程
- 析構過程
- 自動引用計數
- 可選鏈
- 錯誤處理
- 類型轉換
- 嵌套類型
- 擴展
- 協議
- 泛型
- 訪問控制
- 高級運算符
- 語言參考
- 關于語言參考
- 詞法結構
- 類型
- 表達式
- 語句
- 聲明
- 特性
- 模式
- 泛型參數
- 語法總結
- 蘋果官方Blog官方翻譯
- Access Control 權限控制的黑與白
- 造個類型不是夢-白話Swift類型創建
- WWDC里面的那個“大炮打氣球”
- Swift與C語言指針友好合作
- 引用類型和值類型的恩怨
- 訪問控制和Protected
- 可選類型完美解決占位問題