Swift入门: 常量和变量

2020-03-19 20:42:42 浏览数 (1)

每个有用的程序都需要在某个时刻存储数据,在Swift中有两种方法:变量和常量。变量是一个可以随时更改其值的数据存储,而常量是一个可以设置一次且永远不会更改的数据存储。所以,变量的值可以变化,而常量的值是常数——很简单,对吧?

拥有这两个选项可能看起来毫无意义,毕竟你可以只创建一个变量,然后再也不更改它——为什么需要将它设为常量?好吧,结果发现很多程序员都很震惊!——编程不能做到百分百完美,我们会犯错误。

分离常量和变量的优点之一是Xcode会告诉我们是否犯了错误。如果我们说“让这个日期成为一个常数,因为我知道它永远不会改变”,然后10行之后尝试改变它,Xcode将拒绝构建我们的应用程序。

常量也很重要,因为它们让Xcode决定如何构建应用程序。如果它知道某个值永远不会更改,它就能够应用优化以使代码运行得更快。

在Swift中,您可以使用var关键字创建一个变量,如下所示:

代码语言:javascript复制
var name = "韦弦zhy"

我们把它放在Playground上,这样你就可以开始得到反馈了。删除除import UIKit行之外的所有内容(这是引入苹果核心iOS框架的一部分,以后需要),并添加该变量。你应该看看下面的图片。

图片发自简书

因为这是一个变量,您可以随时更改它,但不应该每次都使用var关键字,这只在声明新变量时使用。试着写这个:

代码语言:javascript复制
var name = "韦弦zhy"
name = "Swift"

因此,第一行创建name变量并给它一个初始值,然后第二行更新name变量,使其值现在为“Swift”。您将看到两个值都打印在Playground的结果区域中。

如果我们把它变成常数而不是变量呢?好吧,常量使用let关键字而不是var,因此您可以将第一行代码更改为let name而不是var name,如下所示:

图片发自简书

因此,常量是向Swift和您自己保证某个值不会改变的一个很好的方法,因为如果您尝试改变它,Xcode将拒绝运行。Swift开发人员非常倾向于尽可能使用常量,因为它使您的代码更易于理解。事实上,在最新版本的Swift中,Xcode实际上会告诉你,如果你做了一个变量,那么永远不要改变它!

重要提示:变量和常量名称在代码中必须是唯一的。如果尝试使用同一变量名两次,将出现错误,如下所示:
代码语言:javascript复制
var name = "韦弦zhy"
var name = "Swift"

如果Playground在你的代码中发现错误,它会在一个红色的框中标记一个警告,或者只是拒绝运行。

本文来自Hacking with Swift给swift初学者的入门课程Swift for Complete Beginners 的 Variables and constants

0 人点赞