我知道如何像下面这样交换整数:
var x = 5
var y = 7
x = x + y
y = x - y
x = x - y
print(x)
print(y)
但是我如何在不使用第三个变量的情况下交换任何其他类型的两个变量呢?
我知道如何像下面这样交换整数:
var x = 5
var y = 7
x = x + y
y = x - y
x = x - y
print(x)
print(y)
使用元组!
var a = "a"
var b = "b"
(b, a) = (a, b)
任何类型或任意数量的变量都适用于这种方法。Int
的方法:a += b
b = String(a.dropLast(b.count))
a = String(a.dropFirst(b.count))
swap(&a, &b)
。 - Martin RInt
的方式非常相似。或者像Martin R建议的那样,使用swap
。 - Sweeper