您如何交换两个任意类型的变量而又不迅速使用第三个变量?

时间:2019-04-03 10:43:02

标签: swift

我知道如何交换 int ,如下所示:

var x = 5
var y = 7

x = x + y
y = x - y
x = x - y

print(x)
print(y)

但是如何在不使用第三个变量的情况下交换任何其他类型的两个变量呢?

1 个答案:

答案 0 :(得分:8)

使用元组!

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))