创建元组
将相关值组合在一起。
创建元组 是 CoddyKit 上的免费 Scala for Backend Engineering & Functional Programming 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Scala for Backend Engineering & Functional Programming 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Scala for Backend Engineering & Functional Programming 课程共包含 4 节课。
什么是元组?
元组可以将固定数量的值组合在一起,即使这些值的类型不同。
列表中的每个元素都共享同一种类型,而元组可以同时容纳 Int、String 和 Boolean。
元组非常适合返回或打包少量相关值,而无需编写完整的类。
创建您的第一个元组
将以逗号分隔的值放在圆括号中,就可以构建元组。
这里我们将姓名与年龄配对。Scala 会自动推断类型。
val person = ("Alice", 30)
println(person)自由混合类型
元组最实用的特性之一,就是可以在同一个值中混合不同类型。
这个元组同时包含 String、Int 和 Boolean。每个位置都保留自己的类型。
val record = ("Bob", 42, true)
println(record)元组类型
元组的类型会按顺序显示每个元素的类型。
由 String 和 Int 组成的二元组类型为 (String, Int)。如果希望表达清楚,也可以显式写出类型。
val pair: (String, Int) = ("Cara", 25)
println(pair)二元组很常见
恰好包含两个元素的元组称为二元组,二元组在 Scala 中随处可见。
例如,映射由键值对构成。先学习二元组,会让后续语言学习更加容易。
val score = ("Math", 95)
println(score)二元组的箭头语法
对于包含两个元素的元组,Scala 提供了方便的箭头语法。
写成 key -> value 与写成 (key, value) 完全相同。在构建映射时尤其易读。
val entry = "name" -> "Dana"
println(entry)更大的元组
元组可以容纳多于两个或三个值。
Scala 支持最多包含 22 个元素的元组,不过小型元组最容易阅读。如果需要许多字段,通常使用样例类会更清晰。
val data = (1, 2, 3, 4, 5)
println(data)单元素说明
没有真正有用的单元素元组。将一个值放在圆括号中,只会得到这个值本身。
因此,(5) 就是数字 5,而不是元组。元组实际上从两个元素开始。
val notATuple = (5)
println(notATuple)元组不可变
创建元组后,其中的值永远不会改变。
这种不可变性使元组可以安全共享,也更容易理解。要得到不同的元组,只需新建一个即可。
val a = (1, "one")
val b = (2, "two")
println(a)
println(b)返回多个值
元组的常见用途之一,是一次从函数中返回多个值。
这里函数将总和与乘积作为一个元组返回,从而不需要单独的类。
def stats(a: Int, b: Int) = (a + b, a * b)
println(stats(3, 4))嵌套元组
由于元组本身就是一个值,因此您可以将一个元组放入另一个元组中。
这样可以将相关的子二元组组合在一起。请保持嵌套层次较浅,以便代码易于阅读。
val nested = (("x", 1), ("y", 2))
println(nested)快速检查
测试您对创建元组的学习成果。
回顾
您学会了将固定数量、类型可能不同的值放在圆括号中组成元组。
二元组也可以使用 key -> value 语法;元组不可变,并且非常适合返回多个值。接下来,您将学习如何取出这些值。
常见问题解答
「创建元组」课时是免费的吗?
是的 — 「创建元组」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Scala for Backend Engineering & Functional Programming 课程的其余内容,请升级到 CoddyKit PRO。 Scala for Backend Engineering & Functional Programming 课程共包含 4 节课。
「创建元组」这节课中我会学到什么?
将相关值组合在一起。 你通过在浏览器中直接运行的动手代码来练习 Scala for Backend Engineering & Functional Programming,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Scala for Backend Engineering & Functional Programming 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Scala for Backend Engineering & Functional Programming 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「创建元组」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Scala for Backend Engineering & Functional Programming 课中编写并运行代码吗?
能。每节 Scala for Backend Engineering & Functional Programming 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。