swift - 如何在不快速使用第三个变量的情况下交换任何类型的两个变量?
问题描述
我知道如何像下面这样交换int :
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
s 的方法的方法:
a += b
b = String(a.dropLast(b.count))
a = String(a.dropFirst(b.count))
推荐阅读
- c++ - 将 carray 转换为 istream 的 initializer_list
- kotlin - 如何通过反射访问和更改 kotlin 中对象内的对象成员的字段值?
- r - 使用正则表达式更改列表中数据框的元素名称
- python-3.x - df.to_excel 仅捕获迭代 pandas 的最后一个请求
- amazon-web-services - AWS EC2 中的 JSF Websocket 在 localhost 但不在 EC2 (AWS) 上工作
- python-3.x - 当测试结束时并非所有任务都停止时,Asyncio 单元测试将失败
- python - Visual Code Studio 不允许我运行 discord.py 文件
- git - Git - 以下未跟踪的工作树文件将被合并覆盖:
- python - 如何执行二维神经网络?
- javascript - ReferenceError:未定义响应。我不明白