变量和常量(Constants and Variables)
常量和变量都是用一个名字关联一个有特定数据类型的数据值(例如maximumNumberOfLoginAttempts 或者welcomeMessage关联数字10或者”hello”),常量一旦被设置值不能被修改,而变量却可以在将来被修改。
变量和常量的声明(Declaring Constants andVariables)
常量和变量能够在使用前被声明,使用let关键字声明常量,使用 var关键字声明变量,下面的例子展示了用常量和变量来记录用户试图登录的最大登录次数和当前次数。
letmaximumNumberOfLoginAttempts = 10
varcurrentLoginAttemp = 0
上面的代码这样解释:“声明一个新的常量maximumNumberOfLoginAttempts,然后给它赋值10。声明一个新的变量currentLoginAttempt,然后给它赋值0”。
在上面的例子中,最大的登录次数被声明为常量,因为最大的数值不会被改变,而当前的登录次数被声明为变量,因为这个值在每次登录失败后都要被累加
能够在一行声明多个常量或者多个变量,使用逗号分开,如下:
var x =0.0, y = 0.0 , z = 0.0
注意
如果你的代码中的数据值将来都不会改变,那么就使用let关键字把它声明为常量,把变量仅仅用于将来要改变的数据值
数据类型注释(Type Annotations) //类似于范型编程
当声明一个变量或者常量的时候,你能够提供一个数据类型的注释,使你将要存储的常量或者变量的数据类型非常清晰。在常量或者变量后面增加一个冒号接着增加空格,最后增加你所希望的数据类型。
下面的例子对welcomeMessage变量提供了一个类型注释,指明这个变量是用来存储String类型的变量。
varwelcomeMessage: String
冒号的意思是“… 的类型…”,因此上面的代码能够被读作“声明一个数据类型为String 的welcomeMessage变量”。 “字符串的数据类型”这句话的意思是说“能够存储任何的字符串的值”,现在welcomeMessage变量能够用来存储任何的字符串而不会出错
welcomeMessage= “Hello”
注意
在实际使用过程中,很少需要使用数据类型注释。如果你在定义一个常量或者变量的时候给了一个初始值,Swift能够推断出其相应的数据类型,详细内容在 (类型安全和类型推断)Type Safety and Type Inference.上面的welcomeMessage例子中,没有提供初始化的值,所以使用类型注释来标明是那种数据类型,效果类似于声明变量的时候给初始值。