《Swift入门经典(第2版)》——2.2 Swift中的变量

2.2 Swift中的变量

可以看到,由于应用具有并且必须具有动态性,只使用常量将无法实现复杂的应用。Swift提供了一种同样简单的方式,像声明常量那样声明变量,只是使用var导引符。顾名思义,变量可以改变,它们本质上是可变(mutable)的。这意味着无论何时使用“=”运算符(称为赋值运算符(assignment operator)),都可以改变变量的值(第3章将讨论运算符)。

当你知道数据可以并且将会改变时,变量将特别有用。例如,如果你正在构建一个计步器应用,你知道对于你或者你的应用的用户所走过的每一步(假定用户具有一个设备,它带有M系列的运动协处理器),步数都会增加。这个变量将利用到每个时刻所走过的步数进行更新。

给常量和变量赋值

使用playground或Swift REPL(选择你更熟悉的一种工具),尝试下面这些步骤,以表现你所掌握的关于常量和变量的知识:

(1)给名为feetPerMile的常量赋值5280。

let feetPerMile = 5280
(2)给名为totalFeet的变量赋值0,只用于初始化它。

var totalFeet = 0
(3)设想你步行了3英里,并且你想知道自己行进了多少英尺。现在,使totalFeet等于feetPerMile中存储的数值的3倍。

totalFeet = 3 * feetPerMile
(4)假设由于标准的分歧,把每英里包含的英尺数的全球标准从5280改为6000。尝试把feetPerMile改为6000。

feetPerMile = 6000
你将得到一个尝试更改feetPerMile的错误,不是吗?

在上一个试验中,你注意到自己可以声明一个常量feetPerMile,并且给它提供了一个初始值(5280),这没有什么问题。你还声明了一个变量totalFeet,它具有一个初始值(0),这同样很容易。然后,你更改了变量的值,并且Swift认为这是正确的。现在,当你尝试更改feetPerMile的值时,将接收到一个错误,指示你尝试更改常量let值。这个示例说明了Swift的编译器怎样帮助保持代码安全,避免有关可变性的问题。

在命名常量和变量时,要记住几件事。在常量和变量的名称中,可以使用任何Unicode字符,只不过它们不能以数字开头,并且必须以字母结尾。如果需要以一种不同的语言表达名称,但是利用英语键盘不那么容易做到,那么这就是一个优秀的特性。名称还不能包含标点符号和特殊字符,因为它们通常是为关键字或运算符预留的。现在还可以为常量或变量的名称使用表情符号,比如把鸡脸字符设置为字符串“chicken”,并且Swift推断鸡脸Unicode字符是String类型。虽然这样的字符似乎比较可爱,但是许多程序员倾向于避免为名称使用表情符号或其他特殊字符,因为在输入时这将使得难以引用那些变量和常量,并且你将不得不暂停自己的思路,以搜寻特定的Unicode字符或键组合。

既然我们已经讨论了常量和变量,现在就让我们学习Swift的数据类型。

时间: 2024-12-07 20:59:44

《Swift入门经典(第2版)》——2.2 Swift中的变量的相关文章

《Swift入门经典(第2版)》——导读

前言 在Apple公司于2014年6月召开的年度全球开发者大会(World Wide Developer Conference,WWDC)上,Apple公司公布了一种名为Swift的新编程语言,该公司从2010年起就在开发这种语言.这是一个重大的公告.多年来,在开发大多数Mac和iOS应用时,人们主要选择的语言是Objective-C.可以明显感觉到人们对Swift编程语言的殷切期盼.Twitter上关于Swift的言论不绝于耳,人们纷纷购买标题中具有Swift的域名,并且在公告后24小时内,A

《Swift入门经典(第2版)》——1.2 起步

1.2 起步 此时,最重要的假设是你已经具有一台Mac计算机,如果没有它,将不能安装Xcode,它是Apple的Mac和iOS集成开发环境(Integrated Development Environment,IDE). 注意:下载Xcode Xcode 7是从Mac App Store免费下载的,必须具有Mac OS X 10.10.4或更高版本.尽管可以在Xcode 6.x中编写Swift代码,但是本书还将包括Swift版本2.0,它需要Xcode 7. 在Mac上启动App Store应用

《Swift入门经典(第2版)》——1.5 作业

1.5 作业 作业包含测验问题和练习,可以帮助你巩固对所学知识的理解.要尝试先解答所有的问题,然后再查看随后一节中的答案. 1.5.1 测验 1.可以使用什么命令打开Swift REPL? 2.使用playground编写Swift代码,把数字3和19相乘,并把值存储在一个名为result的常量中.这段代码是什么? 3.怎样退出Swift REPL? 4.运行Xcode 7的Mac OS X的最低版本是什么? 5.下面的Swift代码的输出将是什么? let age = 33 let outpu

《Objective-C入门经典》——2.1节Objective-C世界中的面向对象程序设计

2.1 Objective-C世界中的面向对象程序设计Objective-C入门经典面向对象程序设计可能是现在最常用的程序设计范式了,但究竟什么是面向对象程序设计却并没有一个清晰的定义.最常见的非正式描述(不是定义)是说它是一种使用对象-方法和变量的组合体,表示程序中的概念或物理对象-作为基本的构建块的程序设计风格.在构建程序时,如果能够将程序组件直接对应到物理世界中的对象和概念,就会使开发软件变得更加容易,这是因为程序员可以在同一抽象层次考虑对象和软件所建模的概念. 除了需要理解基本的对象概念

《C++游戏编程入门(第4版)》——1.6 使用变量进行算术运算

1.6 使用变量进行算术运算 C++游戏编程入门(第4版)一旦有了存储值的变量,我们就希望在游戏的过程中改变它们的值--也许希望通过对击败Boss的玩家加分给予奖励,或许又希望降低气阀里的氧气含量.之前介绍的(和一些新的)运算符可以完成这些任务. 1.6.1 Game Stats 2.0程序简介 Game Stats 2.0程序对表示游戏统计值的变量进行操作并显示结果.程序运行结果如图1.6所示. 图1.6 使用不同方式更改每个变量 从Cengage Learning网站(www.cengage

《Swift入门经典(第2版)》——第1章 Swift开发环境简介 1.1什么是Swift

第1章 Swift开发环境简介 在本章中你将学到: Swift是什么以及它来自于哪里: 怎样从Mac App Store安装Xcode 7: 怎样导航Xcode集成开发环境(Integrated Development Environment,IDE): 怎样使用playground(游乐场): 怎样使用Swift的REPL(Read-Eval-Print-Loop,读取-求值-输出-循环): 怎样编写你的第一个Swift应用. 自从2007年推出iPhone以来,Apple似乎不但点燃了基于消

《Swift入门经典(第2版)》——第2章 学习Swift的基本数据类型 2.1Swift中的常量

第2章 学习Swift的基本数据类型 在本章中你将学到: 了解常量与变量之间的区别: 怎样声明和使用常量与变量: Swift怎样使用类型推断,实现自动类型设置: Swift的常用数据类型: 怎样利用类型注释特别声明数据类型. 第1章介绍了设置Xcode和Swift REPL环境,并且展示了Xcode布局.我们还研究了Swift代码的一些简短示例,说明了怎样使用这些环境来帮助你编码,甚至测试你的代码.在代码中声明常量以及把不同的数据类型(比如数字42或字符串"Hello, playground&q

《Swift入门经典(第2版)》——1.4 问与答

1.4 问与答 问:我无须创建完整的Xcode项目就能拥有一个playground吗?答:绝对可以.Xcode把playground视作独立于任何项目的可解释文件. 问:我仍然在运行OS X Mountain Lion,那么我还能够使用Xcode吗?答:OS X Mountain Lion(版本10.8)可以运行Xcode,但是可以在Mountain Lion上运行的Xcode的最新版本是Xcode 5.x.OS X Mavericks 10.9.3是可以支持Xcode 6的最早版本,要运行Xc

《Swift入门经典(第2版)》——2.6 作业

2.6 作业 作业包含测验问题和练习,可以帮助你巩固对所学知识的理解.要尝试先解答所有的问题,然后再查看随后一节中的答案. 2.6.1 测验1.let与var之间的区别是什么? 2.在下面的代码中,Swift将推断数据类型是什么? var hasComment = false3.什么是无符号整数? 4.在下面的代码中,Swift将推断数据类型是什么? var customerAge = "25"5.在Swift中使用什么字符来连接字符串? 2.6.2 答案1.导引符let指示常量:导引