Swift基础教程[试读]
1.1 革命性的改良
欢迎来到Swift这个美丽的新世界。如果你一直关注新闻,可能听说过Swift是苹果公司打造的一款全新编程语言,目的是让开发人员能够更轻松、更高效地编写iOS和Mac应用。Swift简单易学,你在不知不觉间就能编写出简单应用。 Swift提供了一些编写代码的新方式,比功能强大而著名的前身Objective-C容易理解得多。Swift向开发人员提供了全新而有趣的方式表达,其功能学习起来也很有趣。 这种新语言功能强大、语法灵活,使用它来表达思想易如反掌。 鉴于Swift刚推出不久,苹果公司很可能对其进行修改和增补。从未有一种计算机语言像Swift这样,在即将修改和修订前能获得如此高... 查看全部[ 1.1 革命性的改良 ]
1.2 准备工作
你可能会问,要学习Swift需要满足哪些条件呢?实际上,开始阅读本书就迈出了学习Swift的第一步。学习新的计算机语言可能令人望而却步,这正是笔者为Swift初学者编写本书的原因所在。如果你是Swift新手,本书正是为你编写的;如果你从未使用过C、C++和Objective-C,本书也适合你阅读。即便你是经验丰富的开发人员,熟悉前面提及的各种语言,本书也可帮助你快速掌握Swift。 虽然并非绝对必要,但熟悉或大致了解其他编程语言对阅读本书很有帮助。本书不介绍如何编程,也不提供有关软件开发的基本知识,而假定你对计算机语言的基本概念有一定认识,因此你必须对计算机语言有所了解。 虽然如此... 查看全部[ 1.2 准备工作 ]
1.3 准备出发
已下载了Xcode 6?这很好,但请暂时将它抛在脑后吧。事实上,我鼓励你去探索Xcode 6及其新特性,但接下来的几章将把注意力完全放在Terminal 中的REPL上。 如果你以前没有运行过Terminal应用程序,也不用担心。在Mac计算机中,它位于文件夹Applications/Utilities下。要运行它,最简单的方式是单击图标Spotlight,再输入Terminal,如图1-1所示。 图1-1 使用Spotlight来查找应用程序Terminal 另一种方法是,单击Dock中的Finder图标,再选择菜单Go>Utilities ,如图1-2所示。... 查看全部[ 1.3 准备出发 ]
1.4 开始探索Swift
至此,你运行了Swift REPL,它位于Terminal窗口中,耐心地等待你执行命令。Swift掌握了控制权,它显示一个提示符,告诉你可以输入命令了。每次启动REPL时,提示符都为1和大于号。下面按回车键执行检查: Welcome to Swift! Type :help for assistance. 1> 2> 每当你输入一行后,提示符数字都加1——非常简单。当你输入命令时,提示符中不断增大的数字提供了参考点。 1.4.1 帮助和退出 Swift内置了REPL命令帮助信息。在提示符下输入:help可列出REPL命令清单,这些命令开头... 查看全部[ 1.4 开始探索Swift ]
1.5 声明的威力
如果回想一下中学的代数课,你肯定还记得变量是表示某种量的占位符。当你说x等于12或y等于42时,实际上是在声明,将某个变量声明为特定的数字。 Swift让代数课老师自豪,它也能够声明变量,但使用的语法稍有不同。请输入如下内容: 4> var x = 12 x: Int = 12 5> 你刚才使用关键字var声明了第一个变量。第4行让Swift将变量x声明为12,Swift完全按你的指示做,将变量x声明为12。不仅如此,Swift还更进一步:将x声明为值为12的Int变量。 Int是什么呢?它是integer的缩写,表示不带小数部分的整... 查看全部[ 1.5 声明的威力 ]
1.6 常量
在很多情况下,变量都很有用,因为它们的值可随时间而变。在循环中,变量非常适合用于存储临时数字、字符串以及本书后面将讨论的其他对象。 在Swift中,另一种可用于存储值的结构是常量。顾名思义,常量存储的值始终不变。不同于变量,常量一旦赋值就不能修改,就像被锁定一样。然而,与变量一样,常量也有类型,且类型一旦指定就不能改变。 下面来看看如何使用常量:声明常量z,并将变量x的值赋给它: 10> let z = x z: Int = 42 11> 第10行使用了let命令,这是用于创建常量的Swift关键字。常量z的类型和值都与变量x相同:它是一个值... 查看全部[ 1.6 常量 ]
1.7 类型
在本章前面,Swift自动推断出了变量的类型,你注意到了吗?你不用输入额外的代码去告知Swift变量的类型究竟为Int还是Double,Swift自会根据等号右边的值推断出变量或常量的类型。 计算机语言使用类型将值和存储它们的容器分类。类型明确地指出了值、变量或常量的特征,让代码的意图更清晰,消除了二义性。类型犹如不可更改的契约,将变量或常量与其值紧密关联在一起。Swift是一种类型意识极强的语言,这一点在本章前面的一些示例中已经体现出来了。 表1-1列出了Swift基本类型。还有其他一些类型没有列出。另外你将在本书后面看到,可创建自定义类型,但目前我们只使用这些类型。 表1... 查看全部[ 1.7 类型 ]
1.8 字符串
前面简要地介绍了数值类型,但还有一种Swift类型也用得非常多,它就是String类型。前面说过,在Swift中,字符串是用双引号("")括起的一系列字符。 下面是合法的字符串声明: 20> let myState = "Louisiana" myState: String = "Louisiana" 21> 下面的字符串声明亦如此: 21> let myParish : String = "St. Landry" myParish: String ... 查看全部[ 1.8 字符串 ]
1.9 数学运算符
Swift很擅长做数学运算。前面介绍过String类型可使用加号来拼接字符串,但加号并非只能用于拼接字符串,它还是加法运算的通用表示方式,而现在正是探索Swift数学运算功能的好时机。来看一些执行算术运算的数学表达式: 29> let addition = 2 + 2 addition: Int = 4 30> let subtraction = 4 - 3 subtraction: Int = 1 31> let multiplication = 10 * 5 multiplication: Int = 50 3... 查看全部[ 1.9 数学运算符 ]
1.10 布尔类型
Swift支持的另一种类型是Bool,即布尔类型。布尔类型的取值要么为true要么为false,通常在比较表达式中使用它们来回答类似于下面的问题:12是否大于3,或55是否等于12?在软件开发中,从结束对象列表迭代到确定一组条件语句的执行路径,经常会用到这样的逻辑比较: 45> 100 > 50 $R0: Bool = true 46> 1.1 >= 0.3 $R1: Bool = true 47> 66.22 < 7 $R2: Bool = false 48> 44 <= 1 $R3: B... 查看全部[ 1.10 布尔类型 ]
1.11 轻松显示
前面在REPL中显示字符串时,使用的都是print和println方法。下面重温这些方法,看看如何使用它们来显示更复杂的字符串。 方法print和println提供的便利之一是,不费吹灰之力就能将变量的值嵌入到其他文本中。如果你熟悉C或Objective-C,就知道设置文本输出格式需要输入的代码非常多,最典型的例子是C语言中的方法printf和Objective-C中的方法NSLog()。请看下面的Objective-C代码片段: NSString *myFavoriteCity = "New Orleans"; NSString *myFavoriteF... 查看全部[ 1.11 轻松显示 ]
1.12 使用类型别名
本章前面介绍过类型,它们是Swift对变量和常量进行分类的核心。作为一种不可变的属性,类型是程序中每个数字和字符串的有机组成部分。然而,为改善源代码的可读性,有时需要使用类型别名。 类型别名是一种让Swift给类型提供其他名称的简单方式: 62> typealias EightBits = UInt8 63> var reg : EightBits = 0 reg: EightBits = 0 64> 这里给Swift类型UInt8指定了别名EightBits,并在接下来的声明中使用了这个别名。甚至可以给类型别名指定别名: 6... 查看全部[ 1.12 使用类型别名 ]
1.13 使用元组将数据编组
有时候,将不同的数据元素组合成更大的类型很有用。前面使用的都是单项数据:整数、字符串等。这些基本类型是Swift数据存储和操作功能的基础,但可以用有趣的方式组合它们,你将在本书中经常看到这种情况。 这里探索其中一种组合方式——元组(Tuple)。元组是由一个或多个变量、常量或字面量组成的单个实体,由放在括号内用逗号分隔的列表表示,比如像下面这样: 66> let myDreamCar = (2014, "Mercedes-Benz", "M-Class") myDreamCar: (Int, String, String) = ... 查看全部[ 1.13 使用元组将数据编组 ]
1.14 可选类型
你可能还记得,本章前面对String变量使用了方法toInt()来将其内容转换为Int值,以便将结果赋给另一个变量: 17> var myConvertedInt = s.toInt() myConvertedInt: Int? = 123 18> 在Swift显示的类型说明中,有一个问号。这个问号表明变量myConvertedInt的类型不是Int,而是可选为Int类型。 可选是什么意思呢?它实际上是一个类型修饰符,告诉Swift指定的变量或常量可以为空。空值很久前就出现在了编程语言中;在Objective-C中用nil表示,而在C/C++中用... 查看全部[ 1.14 可选类型 ]
1.15 小结
祝贺你学完了第1章。本章简要地介绍了Swift,其中有大量的知识需要消化,如果必要请回过头去复习。 本章介绍了如下主题: 变量 常量 方法print 类型(Int、Double、Character、String等) 数学运算符 数值表示法(二进制、十六进制、科学计数法等) 字符串拼接 类型推断及显式声明类型 类型别名 元组 可选类型 别忘了,要从事Swift编程工作,必须掌握这些基本概念。请务必熟悉并搞懂它们,因为本书后面讨论Sw... 查看全部[ 1.15 小结 ]
书名: Swift基础教程
作者: [美] Boisy G·Pitre
出版社: 人民邮电出版社
原作名: Swift for Beginners: Develop and Design
译者: 袁国忠
出版年: 2015-6
页数: 232
定价: 49.00元
装帧: 平装
ISBN: 9787115392602