這里的教程為Swift官方教程中文版。

關(guān)于語言參考(About the Language Reference)

本書的這一節(jié)描述了 Swift 編程語言的形式語法。這里描述的語法是為了幫助您了解該語言的更多細節(jié),而不是讓您直接實現(xiàn)一個解析器或編譯器。

Swift 語言相對較小,這是由于 Swift 代碼中常用的類型、函數(shù)以及運算符都已經(jīng)在 Swift 標準庫中定義了。雖然這些類型、函數(shù)和運算符并不是 Swift 語言自身的一部分,但是它們被廣泛應用于本書的討論和代碼范例中。

如何閱讀語法

用來描述 Swift 編程語言形式語法的符號遵循下面幾個約定:

  • 箭頭()用來標記語法產(chǎn)式,可以理解為“可由……構(gòu)成”。
  • 斜體文字用來表示句法類型,并出現(xiàn)在一個語法產(chǎn)式規(guī)則兩側(cè)。
  • 標記語言和標點符號由固定寬度的粗體文本表示,只出現(xiàn)在一個語法產(chǎn)式規(guī)則的右側(cè)。
  • 可供選擇的語法產(chǎn)式由豎線(|)分隔。當可選用的語法產(chǎn)式太多時,為了閱讀方便,它們將被拆分為多行語法產(chǎn)式規(guī)則。
  • 少數(shù)情況下,標準字體文本被用來描述一個語法產(chǎn)生規(guī)則的右手側(cè)內(nèi)容。
  • 可選的句法類型和文本標記用尾標 opt 來標記。

舉個例子,getter-setter 方法塊的語法定義如下:

getter-setter 方法塊語法

getter-setter 方法塊 → { getter 子句 setter 子句可選 } | { setter 子句 getter 子句 }

這個定義表明,一個 getter-setter 方法塊可以由一個 getter 分句后跟一個可選的 setter 分句構(gòu)成,然后用大括號括起來,或者由一個 setter 分句后跟一個 getter 分句構(gòu)成,然后用大括號括起來。上述的語法產(chǎn)式等價于下面的兩個語法產(chǎn)式, :

getter-setter 方法塊語法

getter-setter 方法塊 → { getter 子句 setter 子句可選 }

getter-setter 方法塊 → { setter 子句 getter 子句 }

詞法結(jié)構(gòu) ?
?