您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > Swift游戏开发案例实战
第3章Swift基础语法Swift语言是2014年6月4日苹果公司在WWDC开发者大会上推出的新的编程语言。此语言具备了Objective-C语言和C语言的特征。除此之外,此语言还具有自身的6个特点:安全、流行、强大、交互性、高效和兼容。本章将首先讲解Swift的基础语法,如常量、变量、数据类型、运算符、程序控制结构和函数等内容。3.1常量和变量常量和变量在每一个编程语言中都是会出现的。本节将讲解如何在Swift中使用常量和变量。3.1.1常量在程序运行期间,不可以改变的量被称为常量。常量的值不需要在编译时指定,但至少要赋值一次。常量在使用之前必须对其进行声明和定义。声明用来说明该标识符被作为一个常量来使用,定义是指定该常量所指代的数据类型。由于Swift支持类型推断,所以可以省略对常量指定数据类型。因为常量的声明和定义是同时进行的,所以将常量的声明和定义合并称为常量的定义。此时定义常量的语法形式如下:let常量名=值其中,let是定义常量的关键字;常量名是常量的名称;值是常量被赋的值。注意:常量名必须符合标识符命名规范。所谓标识符是用户编程时使用的名字。在计算机语言中,对于变量、常量和函数(对于函数会再后面的节中讲解)都有自己的名字。我们称这些名字为标识符。在Swift中,标识符分为两类:一类是用户标识符,另一类是关键字。首先,来看用户标识符。所谓用户标识符就是用户根据需要定义的标识符。一般来给变量和常量等进行命名。一个用户标识符命名是有一定的规则,如图3.1所示。在图3.1中我们提到了不可以将Swift关键字作为标识符。其中,关键字是对编译器具有特殊意义的预定义保留标识符。在Swift中,保留关键字是因为使用它们可以使代码更容易理解。例如,在常量的定义中就出现了关键字let。Swift的关键字总结如表3-1所示。【示例3-1】以下将定义一个常量,并且输出常量的值。具体的操作步骤如下。(1)创建一个SingleViewApplication模板类型的项目,将其命名为3-1。Swift游戏开发案例实战·50·图3.1标识符的命名规则表3-1关键字用做声明的关键字classdeinitenumextensionfuncimportinitletprotocolstaticstructsubscripttypealiasvar用做语句的关键字breakcasecontinuedefaultdoelsefallthroughifinforreturnswitchwherewhile用做表达式和类型的关键字asdynamicTypeisnewsuperselfSelfType__COLUMN____FILE____FUNCTION____LINE__特定上下文中被保留的关键字associativitydidSetgetinfixinoutleftmutatingnonenonmutatingoperatoroverridepostfixprecedenceprefixrightsetunownedunowned(safe)unowned(unsafe)weakwillSet(2)打开ViewController.swift文件,编写代码,实现常量的声明和定义,代码如下:importUIKitclassViewController:UIViewController{overridefuncviewDidLoad(){super.viewDidLoad()letvalue=10//常量的声明和定义println(value)//输出}}此时运行程序,会看到如下的结果:10第3章Swift基础语法·51·在这里我们需要注意以下两点。(1)在程序中,我们使用了单行注释。注释是对程序的一种说明,并不影响程序的运行。一个恰当的注释是优秀代码的一部分。在Swift中注释分为3种:单行注释、多行注释,以及嵌套注释,以下就是对这3种注释的详细讲解。单行注释是一次只有一行注释。单行注释以“//”开始,形式如下://xxxxxxxxx如图3.2所示就使用到了单行注释。图3.2单行注释多行注释就是一行或者多行叙述文字插入在一些注释分隔符中。这些注释分隔符以注释标记“/*”开始,以“*/”结束。形式如下:/*xxxxxxxxxxxxxxxxxxxxxxxxxxxxx*/如图3.3所示就使用到了多行注释。图3.3多行注释嵌套注释就是在注释中再嵌套一些注释。如图3.4所示就使用到了嵌套注释。图3.4嵌套注释(2)在后面的学习中,由于操作步骤以及编写代码的位置都是一样的,为了便于开发者的理解和不受干扰,我们只会给出编写的代码,如【示例3-1】的代码,我们会写为:letvalue=10println(value)3.1.2变量变量是用来指代一个可能变化的数据,正好和常量相反。在使用每个变量的时候,都需要先声明和定义,然后再使用。由于变量的声明和定义是同时进行的,所以将变量的声明和定义合并称为变量的定义。变量定义语法形式如下:Swift游戏开发案例实战·52·var变量名=值其中,var是定义变量的关键字;变量名是变量的名称(注意,变量名必须符合标识符命名规范)。值表示变量被赋的值。【示例3-2】以下将声明和定义一个变量,并输出变量所指代的值。代码如下:varvalue=100//声明并定义变量println(value)此时运行程序,会看到如下的结果:1003.2数据类型由于Swift支持类型推断(类型推断能使它自动推断出一个特定表达式的类型),所以在定义常量或变量时,可以不用特意指定数据类型。其实Swift语言和其他语言一样,也是可以在定义时指定数据类型的。其语法形式如下:let/var常量/变量名:数据类型=值其中,数据类型包括整数类型和浮点类型等。数据类型是为了规范数据存储和运算方式所提供的语法特性。它决定了数据在计算机中的存储方式以及处理方式。在Swift中提供了很多的数据类型。本节就为开发者详细讲解这些数据类型。3.2.1整数类型在讲解整数类型之前,首先需要知道整数。整数是没有小数部分的数字,如40、50等。整数类型就是为整数来指定尺寸范围的。由于整数根据位数可以分为8位、16位、32位和64位的形式,所以整数类型也分为了8位、16位、32位和64位这4种形式。又由于根据整数是否有符号可以将整数分为无符号整数和有符号整数,所以整数类型也可以分为无符号整数类型和有符号整数类型。Swift中的整数类型和范围如表3-2所示。表3-2整数类型和范围整数类型范围UInt8(uint8)0~2558位形式Int8–128~127UInt16(uint16)0~6553516位形式Int16–32768~32767UInt32(uint32)0~429494729532位形式Int32–2147483648~2147483647UInt64(uint64)0~1844674407370955161564位形式Int64–9223372036854775808~9223372036854775807注意:使用U开头的整数类型都是无符号的。第3章Swift基础语法·53·【示例3-3】以下将为两种变量指定数据类型。代码如下:varvalue1:UInt8=100//声明并定义一个类型为UInt8的变量println(value1)varvalue2:Int8=-120//声明并定义一个类型为Int8的变量println(value2)此时运行程序,会看到如下的结果:100-120注意:由于位数不同,开发者可以通过整型类型的min和max属性查看这些类型的边界范围。【示例3-4】以下将使用min和max属性获取UInt8和Int8的昀大值和昀小值,并输出。代码如下:letminValue1=UInt8.min//获取昀小值letmaxValue1=UInt8.max//获取昀大值println(UInt8的昀小值为\(minValue1))println(UInt8的昀大值为\(maxValue1))letminValue2=Int8.min//获取昀小值letmaxValue2=Int8.max//获取昀大值println(Int8的昀小值为\(minValue2))println(Int8的昀大值为\(maxValue2))此时运行程序,会看到如下的结果:UInt8的昀小值为0UInt8的昀大值为255Int8的昀小值为-128Int8的昀大值为127在Swift除了以上提到的整数类型外,还提供了额外的整数类型Int,一般开发者喜欢称其为整型,它具有和当前平台本地字一样的尺寸大小。例如,在一个32位的平台中,Int的尺寸和Int32是一样的;在一个64位的平台中,Int的尺寸和Int64是一样的。在代码中使用Int类型的整数值,可以有助于代码的一致性和互操作性。即使在32位的平台上,也可以存储–2147483648~2147483647之间的任何值,并且对于很多的整数来说它的范围是足够大的。以上所讲的是整数的有符号整型,下面讲解整数的无符号整型。在Swift中还提供了无符号的整型,即UInt,它具有和当前平台本地字一样的尺寸大小。在一个32位的平台中,UInt的尺寸和UInt32是一样的。在一个64位的平台中,UInt的尺寸和UInt64是一样的。在使用整型定义常量和变量时也是有两种类型的,即有符号整型以及无符号整型常量和变量。其定义两种整型常量的语法形式如下:let常量名:UInt=值let常量名:Int=值定义两种整型变量的语法形式如下:Swift游戏开发案例实战·54·var变量名:UInt=值var变量名:Int=值【示例3-5】以下将使用UInt和Int类型分别声明一个常量和一个变量。代码如下:letuvalue1:UInt=1000//定义一个数据类型为无符号整型的常量letuvalue2:Int=-800//定义一个数据类型为有符号整型的常量//输出常量值println(uvalue1)println(uvalue2)varvalue1:UInt=200//定义一个数据类型为无符号整型的变量varvalue2:Int=-100//定义一个数据类型为有符号整型的变量//输出变量值println(value1)println(value2)此时运行程序,会看到如下的结果:1000-800200-1003.2.2浮点类型浮点数正好与整数相反,它是具有小数部分的数字,如3.1415926、0.1等。浮点类型表示的范围要比整数类型表示的范围更广,并且可以存储的数字也要比整数类型的更大或者更小。在Swift中提供了两种浮点数类型,如下:Double表示64位的浮点数。当浮点值必须是非常大的或特别精确时,使用它。Float表示32位的浮点数。当浮点值不需要像一样64位那样的精度时,使用它。常量和变量也可以定义为一个浮点类型,这时就需要使用到Double或者Float。在使用Double定义常量变量时的语法形式如下:let常量名:Double=值var变量名:Double=值在使用Float定义常量和变量时的语法形式如下:let常量名:Float=值var变量名:Float=值【示例3-6】下面使用Double和Float分别对常量和变量进行定义。代码如下:letdvalue:Double=100.3//定义一个数据类型为Double的常量varfvalue:Float=100.3//定义一个数据类型为Float的常量//输出常量值println(dvalue)println(fvalue)此时运行程序,会看到如下的结果:100.3100.300003051758第3章Swift基础语法·55·3.2.3字符类型在Swift中,提供了一种用于文本工作的类型即字符类型(Character),如A、B等。字符类型可以声明具有字符类型的常量和变量。它的定义方式如下:Let/var常量名/变量名:Character=字符【示例3-7】以下将使用Char
本文标题:Swift游戏开发案例实战
链接地址:https://www.777doc.com/doc-4919832 .html