Swift 元组

2020-06-22  本文已影响0人  pc_He

Swift 元组

元组比较

例:
let t1 = (1, 2, 3) let t2 = (1, 2, 3)
// 判断元组t1与t2是否相等,
// 结果为true
print("t1 == t2? (t1 == t2)")

// 这句也会引发编译报错,
// 因为布尔类型不遵循Comparable协议,
// 所以不能进行比较,
// 尽管这里的Int与Double可进行比较
例:b = (true, 1, 2.0) > (false, 2, -1.0)

空元组

例:
// 声明一个Void类型的常量v
let v: Void
// 用空元组对v初始化
v = ()
// 将v赋值给缺省对象说明符,
// 这条语句是一条空语句,
// 编译器会直接将它忽略
_ = v
var a = 10
// 这里需要对result显式标明Void类型,
// 否则会有编译警告
let result: Void = a += 100
// 空元组值也可以被打印出来,
// 输出:result = (), a = 110
print("result = \(result), a = \(a)")
// 这里先提前说明一下,
// 空元组也能赋值给Any类型的对象 µ
let obj: Any = result
// 我们甚至还可以用is来判断Void对象的类型
let isVoid = obj[…]
// 输出:isVoid? true
print("isVoid? \(isVoid)")

  var loop = 3
  repeat {
      print("Hello, world!")
  } while (loop -= 1, loop).1 > 0
   
  // 这条if语句已经显示出了警告:
  // 'is'测试总是为真
  if (loop -= 1, loop).0 is Void {
      print("Yes, it's void!")
  }
上一篇下一篇

猜你喜欢

热点阅读