3.1 标识符和关键字
任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字。
3.1.1 标识符
标识符就是给变量、常量、方法、函数、枚举、结构体、类、协议等指定的名字。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下:
区分大小写,
Myname
与myname
是两个不同的标识符;标识符首字符可以以下划线(
_
)或者字母开始,但不能是数字;标识符中其他字符可以是下划线(
_
)、字母或数字。
例如,identifier
、userName
、User_Name
、_sys_val
、身高等为合法的标识符,而2mail
、room#
和class
为非法的标识符。其中,使用中文“身高”命名的变量是合法的。
注意 Swift中的字母采用的是Unicode编码1。Unicode叫做统一编码制,它包含了亚洲文字编码,如中文、日文、韩文等字符,甚至是我们在聊天工具中使用的表情符号,如
等,这些符号事实上也是Unicode,而非图片。这些符号在Swift中都可以使用。
1Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。Unicode用数字0-0x10FFFF来映射这些字符,最多可以容纳1 114 112个字符,或者说有1 114 112个码位。——百度百科http://baike.baidu.com/view/2602518.htm
如果一定要使用关键字作为标识符,可以在关键字前后添加重音符号(`
),例如:
其中class
是关键字,事实上重音符号(
是等价的。因此使用关键字作为标识符是一种很不好的编程习惯。</code>)不是标识符的一部分,它也可以用于其他标识符,如<code>π</code>和<code>
π`
3.1.2 关键字
关键字是类似于标识符的保留字符序列,除非用重音符号(`
)将其括起来,否则不能用作标识符。关键字是对编译器具有特殊意义的预定义保留标识符。常见的关键字有以下4种。
与声明有关的关键字:
class
、deinit
、enum
、extension
、func
、import
、init
、let
、protocol
、static
、struct
、subscript
、typealias
和var
。与语句有关的关键字:
break
、case
、continue
、default
、do
、else
、fallthrough
、if
、in
、for
、return
、switch
、where
和while
。表达式和类型关键字:
as
、dynamicType
、is
、new
、super
、self
、Self
、Type
、__COLUMN__
、__FILE__
、__FUNCTION__
和__LINE__
。在特定上下文中使用的关键字:
associativity
、didSet
、get
、infix
、inout
、left
、mutating
、none
、nonmutating
、operator
、override
、postfix
、precedence
、prefix
、rightset
、unowned
、unowned(safe)
、unowned(unsafe)
、weak
和willSet
。
对于上述关键字,目前我们没有必要全部知道它们的含义,但是要记住:在Swift中,关键字是区分大小写的,因此class
和Class
是不同的,当然Class
不是Swift的关键字。