1.0 翻譯:stanzhai 校對:xielingwang
2.0 翻譯+校對:miaosiqi
4.1 翻譯+校對:mylittleswift
本頁包含內(nèi)容:
語句語法
語句 → 表達式 ; 可選 語句 → 聲明 ; 可選 語句 → 循環(huán)語句 ; 可選 語句 → 分支語句 ; 可選 語句 → 標記語句(Labeled Statement) 語句 → 控制轉(zhuǎn)移語句 ; 可選 語句 → 延遲語句 ; 可選
語句 → 執(zhí)行語句 ; 可選
多條語句(Statements) → 語句 多條語句(Statements) 可選
循環(huán)語句語法
循環(huán)語句 → for 語句 循環(huán)語句 → for-in 語句 循環(huán)語句 → [while 語句](../chapter3/10_Statements.html#wheetatype 類型 ile_statement) 循環(huán)語句 → repeat-while 語句
For 循環(huán)語法
for 語句 → for for 初始條件 可選 ; 表達式 可選 ; 表達式 可選 代碼塊 for 語句 → for ( for 初始條件 可選 ; 表達式 可選 ; 表達式 可選 ) 代碼塊 for 初始條件 → 變量聲明 | 表達式集
For-In 循環(huán)語法
While 循環(huán)語法
while 語句 → while 條件從句 代碼塊 條件從句 → 表達式 條件從句 → 表達式 , [表達式集]() 條件從句 → 表達式集 條件從句 → 可用條件(availability-condition) | [表達式集]() 條件集 → 條件 | 條件 , [條件集]() 條件 → 可用條件(availability-condition) | 個例條件(case-condition) | 可選綁定條件(optional-binding-condition) 個例條件(case-condition) → case 模式 構(gòu)造器 where 從句可選 可選綁定條件(optional-binding-condition) → 可選綁定頭(optional-binding-head) 可選綁定連續(xù)集(optional-binding-continuation-list) 可選 where 從句 可選 可選綁定頭(optional-binding-head) → let 模式 構(gòu)造器 | var 模式 構(gòu)造器 可選綁定連續(xù)集(optional-binding-contiuation-list) → 可選綁定連續(xù)(optional-binding-contiuation) | 可選綁定連續(xù)(optional-binding-contiuation) , 可選綁定連續(xù)集(optional-binding-contiuation-list) 可選綁定連續(xù)(optional-binding-continuation) → 模式 構(gòu)造器 | 可選綁定頭(optional-binding-head)
Repeat-While 語句語法
分支語句語法
If 語句語法
if 語句 → if 條件從句 代碼塊 else 從句(Clause) 可選 else 從句(Clause) → else 代碼塊 | else if 語句
Guard 語句語法
Switch 語句語法
switch 語句 → switch 表達式 { SwitchCase 可選 } SwitchCase 集 → SwitchCase SwitchCase 集 可選 SwitchCase → case 標簽 多條語句(Statements) | default 標簽 多條語句(Statements) SwitchCase → case 標簽 ; | default 標簽 ; case 標簽 → case case 項集 : case 項集 → 模式 where-clause 可選 | 模式 where-clause 可選 , case 項集 default 標簽 → default : where 從句 → where where 表達式 where 表達式 → 表達式
標記語句語法
標記語句(Labeled Statement) → 語句標簽 循環(huán)語句 | 語句標簽 if 語句 | 語句標簽 switch 語句 語句標簽 → 標簽名稱 : 標簽名稱 → 標識符
控制傳遞語句(Control Transfer Statement)語法
控制傳遞語句 → break 語句 控制傳遞語句 → continue 語句 控制傳遞語句 → fallthrough 語句 控制傳遞語句 → return 語句 控制傳遞語句 → throw 語句
Break 語句語法
break 語句 → break 標簽名稱 可選
Continue 語句語法
continue 語句 → continue 標簽名稱 可選
Fallthrough 語句語法
fallthrough 語句 → fallthrough
Return 語句語法
return 語句 → return 表達式 可選
可用條件(Availability Condition)語法
可用條件(availability-condition) → #available ( 多可用參數(shù)(availability-arguments) ) 多可用參數(shù)(availability- arguments) → 可用參數(shù)(availability-argument)|可用參數(shù)(availability-argument) , 多可用參數(shù)(availability-arguments) 可用參數(shù)(availability- argument) → 平臺名(platform-name) 平臺版本(platform-version) 可用參數(shù)(availability- argument) → *
平臺名 → iOS | iOSApplicationExtension 平臺名 → OSX | macOSApplicationExtension 平臺名 → watchOS 平臺名 → tvOS 平臺版本 → 十進制數(shù)(decimal-digits) 平臺版本 → 十進制數(shù)(decimal-digits) . 十進制數(shù)(decimal-digits) 平臺版本 → 十進制數(shù)(decimal-digits) . 十進制數(shù)(decimal-digits) . 十進制數(shù)(decimal-digits))
拋出語句(Throw Statement)語法
拋出語句(throw-statement) → throw 表達式(expression)
延遲語句(defer-statement)語法
延遲語句(defer-statement) → defer 代碼塊
執(zhí)行語句(do-statement)語法
執(zhí)行語句(do-statement) → do 代碼塊 catch-clauses 可選 catch-clauses → catch-clause catch-clauses 可選 catch-clauses → catch 模式(pattern) 可選 where-clause 可選 代碼塊(code-block) 可選
泛型形參從句(Generic Parameter Clause)語法
泛型參數(shù)從句 → < 泛型參數(shù)集 約束從句 可選 > 泛型參數(shù)集 → 泛形參數(shù) | 泛形參數(shù) , 泛型參數(shù)集 泛形參數(shù) → 類型名稱 泛形參數(shù) → 類型名稱 : 類型標識 泛形參數(shù) → 類型名稱 : 協(xié)議合成類型 約束從句 → where 約束集 約束集 → 約束 | 約束 , 約束集 約束 → 一致性約束 | 同類型約束 一致性約束 → 類型標識 : 類型標識 一致性約束 → 類型標識 : 協(xié)議合成類型 同類型約束 → 類型標識 == 類型
泛型實參從句語法
(泛型參數(shù)從句 Generic Argument Clause) → < 泛型參數(shù)集 > 泛型參數(shù)集 → 泛型參數(shù) | 泛型參數(shù) , 泛型參數(shù)集 泛型參數(shù) → 類型
聲明語法
聲明 → 導入聲明 聲明 → 常量聲明 聲明 → 變量聲明 聲明 → 類型別名聲明 聲明 → 函數(shù)聲明 聲明 → 枚舉聲明 聲明 → 結(jié)構(gòu)體聲明 聲明 → 類聲明 聲明 → 協(xié)議聲明 聲明 → 構(gòu)造器聲明 聲明 → 析構(gòu)器聲明 聲明 → 擴展聲明 聲明 → 下標聲明 聲明 → 運算符聲明 聲明(Declarations)集 → 聲明 聲明(Declarations)集 可選
頂級(Top Level)聲明語法
頂級聲明 → 多條語句(Statements) 可選
代碼塊語法
代碼塊 → { 多條語句(Statements) 可選 }
導入(Import)聲明語法
導入聲明 → 屬性(Attributes)集 可選 import 導入類型 可選 導入路徑 導入類型 → typealias | struct | class | enum | protocol | var | func 導入路徑 → 導入路徑標識符 | 導入路徑標識符 . 導入路徑 導入路徑標識符 → 標識符 | 運算符
常數(shù)聲明語法
常量聲明 → 屬性(Attributes)集 可選 聲明修改符(Modifiers)集 可選 let 模式構(gòu)造器集 模式構(gòu)造器集 → 模式構(gòu)造器 | 模式構(gòu)造器 , 模式構(gòu)造器集 模式構(gòu)造器 → [模式](../ chapter3/07_Patterns.html#pattern) 構(gòu)造器 可選 構(gòu)造器 → = 表達式
變量聲明語法
變量聲明 → 變量聲明頭(Head) 模式構(gòu)造器集 變量聲明 → 變量聲明頭(Head) 變量名 類型注解 代碼塊 變量聲明 → 變量聲明頭(Head) 變量名 類型注解 getter-setter 塊 變量聲明 → 變量聲明頭(Head) 變量名 類型注解 getter-setter 關(guān)鍵字(Keyword)塊 變量聲明 → 變量聲明頭(Head) 變量名 類型注解 構(gòu)造器 可選 willSet-didSet 代碼塊 變量聲明頭(Head) → 屬性(Attributes)集 可選 聲明修改符(Modifers)集 可選 var 變量名稱 → 標識符 getter-setter 塊 → { getter 從句 setter 從句 可選 } getter-setter 塊 → { setter 從句 getter 從句 } getter 從句 → 屬性(Attributes)集 可選 get 代碼塊 setter 從句 → 屬性(Attributes)集 可選 set setter 名稱 可選 代碼塊 setter 名稱 → ( 標識符 ) getter-setter 關(guān)鍵字(Keyword)塊 → { getter 關(guān)鍵字(Keyword)從句 setter 關(guān)鍵字(Keyword)從句 可選 } getter-setter 關(guān)鍵字(Keyword)塊 → { setter 關(guān)鍵字(Keyword)從句 getter 關(guān)鍵字(Keyword)從句 } getter 關(guān)鍵字(Keyword)從句 → 屬性(Attributes)集 可選 get setter 關(guān)鍵字(Keyword)從句 → 屬性(Attributes)集 可選 set willSet-didSet 代碼塊 → { willSet 從句 didSet 從句 可選 } willSet-didSet 代碼塊 → { didSet 從句 willSet 從句 } willSet 從句 → 屬性(Attributes)集 可選 willSet setter 名稱 可選 代碼塊 didSet 從句 → 屬性(Attributes)集 可選 didSet setter 名稱 可選 代碼塊
類型別名聲明語法
類型別名聲明 → 類型別名頭(Head) 類型別名賦值 類型別名頭(Head) → 屬性 可選 訪問級別修改符(access-level-modifier) typealias 類型別名名稱 類型別名名稱 → 標識符 類型別名賦值 → = 類型
函數(shù)聲明語法
函數(shù)聲明 → 函數(shù)頭 函數(shù)名 泛型參數(shù)從句 可選 函數(shù)簽名(Signature) 函數(shù)體 函數(shù)頭 → 屬性(Attributes)集 可選 聲明描述符(Specifiers)集 可選 func 函數(shù)名 → 標識符 | 運算符 函數(shù)簽名(Signature) → parameter-clauses throws 可選 函數(shù)結(jié)果 可選
函數(shù)簽名(Signature) → parameter-clauses rethrows 函數(shù)結(jié)果 可選 函數(shù)結(jié)果 → -> 屬性(Attributes)集 可選 類型 函數(shù)體 → 代碼塊 參數(shù)從句 → 參數(shù)從句 parameter-clauses 可選 參數(shù)從句 → ( ) | ( 參數(shù)集 ... 可選 ) 參數(shù)集 → 參數(shù) | 參數(shù) , 參數(shù)集 參數(shù) → inout 可選 let 可選 外部參數(shù)名 可選 本地參數(shù)名 可選 類型注解 默認參數(shù)從句 可選 參數(shù) → inout 可選 var 外部參數(shù)名 本地參數(shù)名 可選 類型注解 默認參數(shù)從句 可選 參數(shù) → 屬性(Attributes)集 可選 類型 外部參數(shù)名 → 標識符 | _ 本地參數(shù)名 → 標識符 | _ 默認參數(shù)從句 → = 表達式
枚舉聲明語法
枚舉聲明 → 屬性(Attributes)集 可選 訪問級別修改器(access-level-modifier) 可選 聯(lián)合式枚舉 枚舉聲明 → 屬性(Attributes)集 可選 訪問級別修改器(access-level-modifier) 可選 原始值式枚舉(raw-value-style-enum) 聯(lián)合式枚舉 → enum 枚舉名 泛型參數(shù)從句 可選 類型繼承從句(type-inheritance-clause) 可選 { 聯(lián)合樣式枚舉成員 可選 } 聯(lián)合樣式枚舉成員 → union-style-enum-member 聯(lián)合樣式枚舉成員 可選 聯(lián)合樣式枚舉成員 → 聲明 | 聯(lián)合式(Union Style)的枚舉 case 從句 聯(lián)合式(Union Style)的枚舉 case 從句 → 屬性(Attributes)集 可選 case 聯(lián)合式(Union Style)的枚舉 case 集 聯(lián)合式(Union Style)的枚舉 case 集 → 聯(lián)合式(Union Style)的 case | 聯(lián)合式(Union Style)的 case , 聯(lián)合式(Union Style)的枚舉 case 集 聯(lián)合式(Union Style)的枚舉 case → 枚舉的 case 名 元組類型 可選 枚舉名 → 標識符 枚舉的 case 名 → 標識符 原始值式枚舉 → enum 枚舉名 泛型參數(shù)從句 可選 : 類型標識 { 原始值式枚舉成員集 可選 } 原始值式枚舉成員集 → 原始值式枚舉成員 原始值式枚舉成員集 可選 原始值式枚舉成員 → 聲明 | 原始值式枚舉 case 從句 原始值式枚舉 case 從句 → 屬性(Attributes)集 可選 case 原始值式枚舉 case 集 原始值式枚舉 case 集 → 原始值式枚舉 case | 原始值式枚