Swift标示符以及关键字

时间:2023-05-31 21:34:44

任何一种计算机语言都离不开标识符和关键字,下面我们将详细介绍Swift标识符和关键字。

标示符

程序员对程序中的各个元素加以命名时使用的命名记号称为标识符,如:变量名、类名、方法名等。构成标识符的字母均有一定的规范,Swift语言中标识符的命名规则如下:

区分大小写userName与username是两个不同的标识符;

标识符首字符可以以下划线(_)或者字母开始,但不能是数字;

标识符中其他字符可以是下划线(_)、字母或数字。

例如,identifier、userName、User_Name、_sys_val、user1、姓名等为合法的标识符,而2man、room#和class为非法的标识符。其中,使用中文“姓名”命名的变量是合法的。因为Swift中的字母采用的是Unicode编码。Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。它也包含了各种文字编码,如中文、日文、韩文、英文等字符;甚至是我们在聊天工具中使用的表情符号等等,显然这些表情符号事实上也是Unicode字符,而非图片。这些符号在Swift中都可以使用。

如果一定要使用关键字作为标识符,可以在关键字前后添加重音符号(`),例如:
使用let来声明常量,使用var来声明变量。
let π =3.14159
var _Hello = "Hello"
var helloword = "你好世界"
let `class` = ""

其中class是关键字,事实上重音符号(`)不是标识符的一部分,它也可以用于其他标识符,如π和`π`是等价的。另使用关键字作为标识符是一种很不好的编程习惯,请注意避免。

关键字

关键字是类似于标识符的保留字符序列,除非用重音符号(`)将其括起来,否则不能用作标识符。关键字是对编译器具有特殊意义的预定义保留标识符。常见的关键字有以下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的关键字。