上一章Swift教程请查看:swift optional可选类型
在本章我们介绍swift中的元组、常量和字面量,包括元组的基本定义和使用,常量的声明和使用,以及不同类型字面量的介绍。
Swift元组tuple
Swift还引入了元组类型,用于在一个复合值中对多个值进行分组。
元组中的值可以是任何类型的,并且不需要是相同类型的。
例如,(“Point”,123)是一个具有两个值的元组,一个是字符串类型,另一个是整数类型,这是一个合法的命令。
let
ImplementationError =(501,“Not implementation”)是一个错误,当服务器上的东西没有实现,它返回两个值,错误代码和描述。
你可以根据需要从任意数量的值和任意数量的不同数据类型创建元组。
这是元组声明的语法:
var TupleName = (Value1, value2,… any number of values)
这是一个Tuple声明:
var error501 = (501, “Not implemented”)
可以使用从0开始的索引号访问tuple的值。
这是一个访问元组值的例子
print(“The code is\(error501.0)”)
print(“The error is\(error501.1)”)
你可以在声明时命名元组的变量,并且可以使用它们的名称来调用它们:
var error501 = (errorCode: 501, description: “Not Implemented”)
print(error501.errorCode) // prints 501.
元组有助于从函数返回多个值,例如web应用程序可能返回一个类型为(“String”,Int)的元组,以显示加载是否成功或失败。
通过返回元组中的不同值,我们可以根据不同的元组类型做出决策。
注意元组用于临时值,不适用于复杂数据。
Swift常量
常量是指程序在执行过程中不能改变的固定值,常量可以是任何基本数据类型,如整数常量、浮点常量、字符常量或字符串文字,还有枚举常量。
常量与常规变量一样,只是它们的值在定义之后不能修改。
常量声明
在使用常量之前,必须使用let关键字声明它们,如下所示:
let constantName = <initial value>
下面是一个简单的例子来说明如何在Swift−中声明一个常数
let constA = 42
print(constA)
类型注释
你可以在声明常量时提供类型注释,以明确常量可以存储的值的类型,下面是语法:
var constantName:<data type> = <optional initial value>
下面的例子展示了如何使用注释在Swift中声明一个常量,这里需要注意的是,在创建常量时必须提供初始值:
let constA = 42
print(constA)
let constB:Float = 3.14159
print(constB)
常量命名
常量的名称可以由字母、数字和下划线组成,它必须以字母或下划线开头,大小写字母是不同的,因为Swift是大小写敏感的编程语言。
你可以使用简单或Unicode字符来命名变量,下面是一些正确的例子:
let _const = "Hello, Swift!"
print(_const)
let 你好 = "你好世界"
print(你好)
打印常量
可以使用print函数打印常量或变量的当前值,你可以通过将名称括在圆括号中来插入变量值,并在左括号前使用反斜杠进行转义:以下是有效的示例
let constA = "Oreja"
let constB = 1000.00
print("Value \(constA) and \(constB)")
Swift字面量
字面量是整数、浮点数或字符串类型的值的原始表示形式,下面是字面量的例子
42 // 整数字面量
3.14159 // 浮点数字面量
"Hello, world!" // 字符串字面量
整型字面量
整数字面值可以是十进制、二进制、八进制或十六进制常量,二进制文字以0b开头,八进制文字以0o开头,十六进制文字以0x开头,十进制则没有。
这里有一些整数字面值的例子
let decimalInteger = 17 // 十进制记数法
let binaryInteger = 0b10001 // 二进制记数法
let octalInteger = 0o21 // 八进制记数法
let hexadecimalInteger = 0x11 // 十六进制记数法
浮点型字面量
浮点文字包含整数部分、小数点、小数部分和指数部分,可以用十进制形式或十六进制形式表示浮点文字。
十进制浮点文字由一组十进制数字,后跟一个十进制分数、一个十进制指数或两者都有。
十六进制浮点文字由一个0x前缀、一个可选的十六进制分数和一个十六进制指数组成。
下面是一些浮点文字的例子:
let decimalDouble = 12.1875
let exponentDouble = 1.21875e1
let hexadecimalDouble = 0xC.3p0
字符串字面值
字符串文字是由双引号包围的字符序列,形式如下:
"characters"
字符串文本不能包含未转义的双引号(“)、未转义的反斜杠(\)、回车或换行,特殊字符可以使用以下转义序列包含在字符串文字中:
转义字符 | 解释 |
\0 | 空字符 |
\\ | \字符 |
\b | 退格 |
\f | 换页 |
\n | 换行符 |
\r | 回车 |
\t | 水平选项卡 |
\v | 垂直制表符 |
\’ | 单引号 |
\” | 双引号 |
\000 | 一到三位数的八进制数 |
\xhh… | 一个或多个数字的十六进制数 |
下面的例子演示了如何使用一些字符串常量
let stringL = "Hello\tWorld\n\nHello\'Swift\'"
print(stringL)
布尔字面量
有三个布尔字面量,它们是标准的Swift关键字的一部分:
- true代表真。
- false代表假的值。
- nil空值表示没有值。
Swift学习小结
- 在上面我们学习了swift中的元组、常量和字面量:
- 元组tuple,和python中的元组类似,在一些情况使用元组组织数据可以帮助你更方便实现功能。
- 常量是开发中常用的一种形式,最好遵循常量的约定命名形式,以便更好区分常量。
- 字面量是基本数据类型赋值的依据,要注意字符串字面量中转义字符的使用。