0Pricing
Swift Academy · 课时

返回值与通过元组返回多个值

返回单个值或使用元组返回多个值;为元素命名,使用下划线忽略值,并使用提前返回。

返回值与通过元组返回多个值 是 CoddyKit 上的免费 Swift Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Swift Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Swift Academy 课程共包含 3 节课。

简介

函数可以返回单个值,也可以返回包含多个值的元组。这能让移动设备大小代码中的接口保持简洁。

返回单个值

使用 -> 声明返回类型,并使用 return 返回结果。

func double(_ x: Int) -> Int {
    return x * 2
}
print(double(5)) // 10

返回元组(未命名)

将多个值作为元组返回,并通过索引访问其中的元素。

func minMax(_ a: Int, _ b: Int) -> (Int, Int) {
    if a < b { return (a, b) }
    else { return (b, a) }
}
let pair = minMax(7, 3)
print("min =", pair.0, "max =", pair.1)

命名元组元素

为元组元素命名,即可通过 result.count 进行可读的访问。

func stats(_ xs: [Int]) -> (count: Int, sum: Int) {
    var s = 0
    for x in xs { s += x }
    return (xs.count, s)
}
let result = stats([2, 3, 5])
print("count =", result.count, "sum =", result.sum)

解构

将元组解构到变量中,并使用 _ 忽略不需要的值。

func coords() -> (x: Int, y: Int) { (3, 4) }
let (x, _) = coords()  // ignore y
print("x =", x)

提前返回

提前返回可以让代码结构更扁平,并表示特殊情况,通常会与可选值一起使用。

func safeDivide(_ a: Int, _ b: Int) -> Int? {
    if b == 0 { return nil }       // early return for invalid input
    return a / b
}
print(safeDivide(6, 2) ?? -1)
print(safeDivide(6, 0) ?? -1)

返回多个值

快速检查:函数如何返回多个值?

回顾

回顾:返回单个值或元组;为元素命名以提高可读性,在赋值时进行解构,并使用提前返回处理特殊情况。

常见问题解答

「返回值与通过元组返回多个值」课时是免费的吗?

是的 — 「返回值与通过元组返回多个值」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Swift Academy 课程的其余内容,请升级到 CoddyKit PRO。 Swift Academy 课程共包含 3 节课。

「返回值与通过元组返回多个值」这节课中我会学到什么?

返回单个值或使用元组返回多个值;为元素命名,使用下划线忽略值,并使用提前返回。 你通过在浏览器中直接运行的动手代码来练习 Swift Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Swift Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Swift Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。

「返回值与通过元组返回多个值」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Swift Academy 课中编写并运行代码吗?

能。每节 Swift Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 定义函数、参数、标签、默认值与可变参数
  2. 返回值与通过元组返回多个值
  3. 输入输出参数与基础错误处理(throws)
← 返回 Swift Academy