主表達式是最基本的表達式。 它們可以跟 前綴表達式,二元表達式,后綴表達式以及其他主要表達式組合使用。
主表達式語法
主表達式 → 標識符 泛型參數(shù)子句 可選
主表達式 → 字面量表達式
主表達式 → self表達式
主表達式 → 超類表達式
主表達式 → 閉包表達式
主表達式 → 圓括號表達式
主表達式 → 隱式成員表達式
主表達式 → 通配符表達式
由這些內(nèi)容組成:普通的字符(string, number) , 一個字符的字典或者數(shù)組,或者下面列表中的特殊字符。
| 字符(Literal) | 類型(Type) | 值(Value) |
|---|---|---|
| _FILE_ | String | 所在的文件名 |
| _LINE_ | Int | 所在的行數(shù) |
| _COLUMN_ | Int | 所在的列數(shù) |
| _FUNCTION_ | String | 所在的function 的名字 |
在某個函數(shù)(function)中,__FUNCTION__ 會返回當(dāng)前函數(shù)的名字。 在某個方法(method)中,它會返回當(dāng)前方法的名字。 在某個property 的getter/setter中會返回這個屬性的名字。 在init/subscript中 只有的特殊成員(member)中會返回這個keyword的名字,在某個文件的頂端(the top level of a file),它返回的是當(dāng)前module的名字。
一個array literal,是一個有序的值的集合。 它的形式是:
[
value 1,value 2,...]
數(shù)組中的最后一個表達式可以緊跟一個逗號(','). []表示空數(shù)組 。 array literal的type是 T[], 這個T就是數(shù)組中元素的type. 如果該數(shù)組中有多種type, T則是跟這些type的公共supertype最接近的type.(closest common supertype)
一個dictionary literal 是一個包含無序的鍵值對(key-value pairs)的集合,它的形式是:
[
key 1:value 1,key 2:value 2,...]
dictionary 的最后一個表達式可以是一個逗號(','). [:] 表示一個空的dictionary. 它的type是 Dictionary
字面量表達式語法
字面量表達式 → 字面量
字面量表達式 → 數(shù)組字面量 | 字典字面量
字面量表達式 → __FILE__ | __LINE__ | __COLUMN__ | __FUNCTION__
數(shù)組字面量 → [ 數(shù)組字面量項列表 可選 ]
數(shù)組字面量項列表 → 數(shù)組字面量項 , 可選 | 數(shù)組字面量項 , 數(shù)組字面量項列表
數(shù)組字面量項 → 表達式
字典字面量 → [ 字典字面量項列表 ] | [ : ]
字典字面量項列表 → 字典字面量項 , 可選 | 字典字面量項 , 字典字面量項列表