首页 > 代码库 > Swift学习之中的一个:常量与变量

Swift学习之中的一个:常量与变量

正在学习swift中,看了一遍英文文档,如今是在看第二遍,顺便总结出一些知识点。假设有哪里说明值得质疑的地方,请留言/回复指出,谢谢!


常量与变量都会有一个关联的名字(如maximumNumberOfLoginAttempts或者welcomeMessage),

有特定的类型(如数字10或者字符串"Hello")。常量的值一旦设置就不能再改动,而变量的值
在将来是能够改动为不同的值的。




声明常量与变量

常量与变量在使用前必须先声明。使用letkeyword声明常量,而变量是使用varkeyword来声明。

看以下的样例:

// 分号加不加都行,假设看不习惯,能够自行加入
// 声明了一个名叫maximumNumberOfLoginAttempts的常量,由于没有指定类型。而又进行了初始化,其值为10。
// 所以swift会自己主动判断出常量maximumNumberOfLoginAttempts的类型为Int
// 这个写法相当于:let maximumNumberOfLoginAttempts: Int = 10
let maximumNumberOfLoginAttempts = 10
// 声明的currentLoginAttempt是一个变量。在其它地方能够改动这个变量的值
// 这里没有显示指定变量的类型,但由于有了初始值0,因此Swift会判断出这个变量的类型为Int
// 因此以下的写法相当于:var currentLoginAttempt: Int = 10
var currentLoginAttempt = 10

能够在一行声明多个变量,变量之间用逗号隔开
// swift在判断浮点类型时,默认会使用Double类型,以下相当于:
// var x: Double = 0.0, y: Double = 0.0, z: Double = 0.0
var x =


NOTE
假设在你的代码中不希望某个储存的值发生改变。那么总是用letkeyword声明为常量。
使用变量仅仅用于值须要改变的。




类型说明(Type Annotation)

上面的凝视中已经用到了类型说明,事实上就是在声明变量或者常量的同一时候显示指定变量或者常量的类型

// 这样写法是错误的,由于我们没有指定类型。而swift又没有详细的初始值来推断
// 我们希望这个变量的类型
var welcomeMessage //Error

那么我们有两种方式处理。一种是给定一个初始值让swift帮助我们推断出类型,还有一种是我们显示指定类型
var welcomeMessage: String // 我们想要的是String类型
var welcomeMessage = "Hello" // swift会依据这个初始值推断出类型为String
NOTE
在实际的工作中,非常少须要写明类型说明。假设在定义变量或者常量的时候就提供了初始值,
那么Swift总是会判断出该变量或者常量的类型。


命名常量、变量

swift中能够使用Unicode字符
let n = 3.14159
let 你好 = "你好,Swift" // 尽管能够用中文作为变量名。但我不建议这么做。

。。

个人建议



打印常量、变量

// 在swift中打印语句能够用println,print
// 前者是打印最后加入了一个换行。后者则没有加入
println(welcomeMessage) // 会换行
print(welcomeMessage)   // 不会换行

// 注意到这里打印的方式了吗?使用\()把变量放到括号里
println("The welcomeMessage is \(welcomeMessage)")
		


Swift学习之中的一个:常量与变量