Swift语言指南(八)--语言基础之元组

简介: 元组 元组(Tuples)将多个值组合为一个复合值。元组内的值可以是任何类型,各个元素不需要为相同类型(各个元素之间类型独立,互不干扰--Joe.Huang)。 下例中,(404, "Not Found") 是一个描述HTTP状态码的元组。

 

元组

元组(Tuples)将多个值组合为一个复合值。元组内的值可以是任何类型,各个元素不需要为相同类型(各个元素之间类型独立,互不干扰--Joe.Huang)。

下例中,(404, "Not Found") 是一个描述HTTP状态码的元组。HTTP状态码是当你向WEB服务器请求页面时服务器返回的一个特殊值,如果你(WEB服务器)请求了一个不存在的网页,返回的状态码就是 404 Not Found :

1 let http404Error = (404, "Not Found")
2 // http404Error is of type (Int, String), and equals (404, "Not Found")
3 // http404错误的类型为(整型,字符串类型),它的值是(404,"Not Found")

(404, "Not Found") 元组将一个 Int 值与一个 String 值组合起来,表示 HTTP 状态码的两个值:一个数字和一个人们可读取的(文字性)描述。它可以这样理解:“一个类型为 (Int, String) 的元组”。

你可以将类型任意排列来创建元组,也可以随心所欲地让元组包含多种不同类型。只要你愿意,创建类型为 (Int, Int, Int)(String, Bool) 的元组也不会有问题,当然,根据你的需要,其它排列方式也是可以的。

元组的内容可以分解(decompose)还原并赋值给单独的常量或变量,然后便可照常访问:

1 let (statusCode, statusMessage) = http404Error
2 println("The status code is \(statusCode)")
3 // prints "The status code is 404" //输出“状态码为 404”
4 println("The status message is \(statusMessage)")
5 // prints "The status message is Not Found //输出"状态信息 Not Found"

如果你只需要元组的某一部分值,可以在分解元组时用下划线(_)标识来忽略掉其他部分:

1 let (justTheStatusCode, _) = http404Error
2 println("The status code is \(justTheStatusCode)")
3 // prints "The status code is 404 //输出“状态码为 404”

或者,通过以 0 开头的元组索引访问元组的各个元素值:

1 println("The status code is \(http404Error.0)")
2 // prints "The status code is 404" //输出“状态码为 404”
3 println("The status message is \(http404Error.1)")
4 // prints "The status message is Not Found //输出“状态码为 Not Found”
5 //这种方式类似于数组通过下标索引访问数组各个元素的值--Joe.Huang

还可以在定义元组时为元组的各个元素单独命名:

1 let http200Status = (statusCode: 200, description: "OK")

为元组各元素命名后,便可以通过元素名称来访问各个元素的值了:

1 println("The status code is \(http200Status.statusCode)")
2 // prints "The status code is 200" //输出“状态码为 404”
3 println("The status message is \(http200Status.description)")
4 // prints "The status message is OK //输出“状态信息 OK”

元组在作为函数返回值时非常有用。一个获取网页内容的函数可能会通过返回一个 (Int, String) 的元组类型来描述网页载入是成功还是失败。函数会返回两个类型完全不同的值来描述返回的状态或结果,(这种返回方式)所能提供的信息比只能返回固定类型的单个值要有用得多。详情请参见 多个返回值的函数(后面章节会译到)。

注:

元组对于多个关联值的临时组合是很有用的。但它们并不适用于创建复杂的数据结构,如果你的数据结构的生命周期超过临时使用的范畴(不是临时使用的值,就应该通过类或建模缓存起来--Joe.Huang),请将它作为类或结构建模,而不是以元组存储。详情请见 类与结构(后面章节会译到)

 

谢谢,Swifter-QQ群:362232993,同好者进~ 

Fork:https://github.com/Joejo/Swift-lesson-for-chinese

 

 

 

 

 

目录
相关文章
|
6月前
|
Swift iOS开发
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
Swift 语言: 什么是协议(Protocol)?如何实现和使用协议?
185 2
|
6月前
|
存储 安全 Swift
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
83 0
|
2月前
|
存储 安全 Swift
Swift 语言为公司电脑管理软件带来新机遇
在数字化时代,公司电脑管理软件的重要性日益凸显,Swift 语言为其带来了全新机遇。Swift 语言具备简洁、安全和高效的特点,易于学习且能有效防止程序错误和漏洞,同时充分利用硬件资源,提升程序运行速度。通过 Swift,我们可以编写代码以获取硬件信息、管理软件安装与卸载,甚至实现远程控制和数据加密等功能,极大地提高了管理效率和数据安全性,为公司电脑管理提供了强大的支持。未来,Swift 语言有望助力开发综合性电脑管理平台,集成多种功能,进一步提升工作效率和数据保护能力。
43 4
|
10天前
|
安全 API Swift
探索iOS开发中的Swift语言之美
【10月更文挑战第23天】在数字时代的浪潮中,iOS开发如同一艘航船,而Swift语言则是推动这艘船前进的风帆。本文将带你领略Swift的独特魅力,从语法到设计哲学,再到实际应用案例,我们将一步步深入这个现代编程语言的世界。你将发现,Swift不仅仅是一种编程语言,它是苹果生态系统中的一个创新工具,它让iOS开发变得更加高效、安全和有趣。让我们一起启航,探索Swift的奥秘,感受编程的乐趣。
|
1月前
|
安全 Swift iOS开发
探索iOS开发中的Swift语言之美
在数字时代的浪潮中,移动应用已成为日常生活的延伸。本文将深入探讨iOS平台上的Swift编程语言,揭示其背后的设计哲学、语法特性以及如何利用Swift进行高效开发。我们将通过实际代码示例,展示Swift语言的强大功能和优雅简洁的编程风格,引导读者理解并运用Swift解决实际问题。
|
2月前
|
安全 Swift iOS开发
探索iOS开发之旅:Swift语言的魅力与挑战
【9月更文挑战第21天】在这篇文章中,我们将一起潜入iOS开发的海洋,探索Swift这门现代编程语言的独特之处。从简洁的语法到强大的功能,Swift旨在让开发者能够以更高效、更安全的方式构建应用程序。通过实际代码示例,我们会深入了解Swift如何简化复杂任务,并讨论它面临的挑战和未来的发展方向。无论你是初学者还是有经验的开发者,这篇文章都将为你提供新的视角和知识。
44 4
|
4月前
|
安全 编译器 Swift
探索iOS开发:Swift语言的现代魔法
【7月更文挑战第11天】本文深入探讨了Swift编程语言,它如何革新iOS开发领域,以及它为开发者带来的独特优势。我们将从Swift的基础语法出发,通过实际案例分析其性能优化技巧,最后讨论Swift在跨平台开发中的潜力。文章旨在为读者提供一个全面而深入的视角,了解Swift不仅仅是一门语言,更是一种推动创新的力量。
|
5月前
|
Swift 索引
Swift开发——元组
Swift中的元组是一种数据结构,用于组合不同类型的值。它们不是独立的数据类型,而是以有序序列形式存在,用圆括号括起,元素间用逗号分隔。元组可以有任意数量和类型的元素,可变性取决于其定义。常用于函数返回多个值。示例代码展示了元组的创建、访问、解包及赋值。元组可以通过标签来标识元素,支持嵌套和比较。在函数返回值和并行赋值场景中,元组特别有用。
54 0
Swift开发——元组
|
6月前
|
安全 Swift Android开发
构建移动应用:Swift vs Kotlin —— 两大主流语言的对决
【5月更文挑战第11天】Swift与Kotlin在移动应用开发中各有优势。Swift是iOS开发的首选,以其简洁语法、高性能和类型安全著称;而Kotlin是Android的官方推荐语言,以其与Java的无缝互操作、空安全特性和简洁代码受到青睐。两者在语法简洁性、性能和社区支持上表现优秀,但平台兼容性不同。开发者应根据项目需求和目标平台选择合适的语言。
|
6月前
|
安全 Swift iOS开发
【Swift 开发专栏】Swift 语言入门指南
【4月更文挑战第30天】Swift是苹果公司的现代编程语言,以其高效、安全和简洁深受喜爱。它融合了类型推断、闭包和泛型等特性,提供强大的内存管理,支持iOS、macOS等多个平台开发。基础语法包括变量、常量、数据类型、运算符和控制流语句。高级特性涵盖函数、闭包、类与结构体、协议以及泛型。学习Swift能为开发者奠定坚实基础。
72 0