ios - 在 Swift 中使用 Switch 语句 - 值绑定(bind)在括号内还是在外?

标签 ios swift switch-statement

我想知道下面这两个示例之间到底有什么区别。如果没有区别就直接说没有区别,我给你答案。请注意,在第二种情况下,let 值绑定(bind)是在元组模式的括号内声明的,而在第一种情况下,let 是在元组外部声明的。当我尝试使用这两个示例时,它们都会产生完全相同的结果。 谢谢。

案例一)

let myNumbers = (1, 2)
switch myNumbers {
   case let (x, 2):
      print("the value of x is \(x)")
   default:
      print("n/a")
}

案例2)

let myNumbers = (1, 2)
 switch myNumbers {
    case (let x, 2):
       print("the value of x is \(x)")
    default:
       print("n/a")
 }

最佳答案

情况 1 更简洁,更适合一般情况。

案例 2 更为精细。考虑这种情况:

switch myNumbers {
    case (let x, var y):
        // x is a constant, y is mutable.
        print("the value of x is \(x)")
    default:
        print("n/a")
}

关于ios - 在 Swift 中使用 Switch 语句 - 值绑定(bind)在括号内还是在外?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41370515/

相关文章:

c - 在 ‘;’ token 之前应为 ‘:’

php - 在切换控制流的情况下是否可以调用函数?

ios - 带有平移手势的 CATransition Cube

swift - 什么是新关键字?

swift - 使用反斜杠符号在 swift 字符串中包含字典或数组值

ios - Swift:从 SQLite.swift 访问 NULL 值时应用程序崩溃

c++ - 开关量不是整数

android - 如何在多个 iOS 模拟器中运行 Flutter

ios - Phonegap ios 设置窗口

ios - OpenGL ES - 相机查看触摸位置