我需要编写一个函数来交换任意两个变量的内容。这就是我目前所拥有的,但我收到错误“无法分配给值:‘a’是‘let’常量”。
func swap<T>(a: T, b: T) {
(a, b) = (b, a);
}
Run Code Online (Sandbox Code Playgroud)
有人可以解释为什么这不起作用并建议如何解决它吗?
谢谢。
您需要设置参数inout才能做到这一点,如下所示:
func swap<T>(_ a: inout T,_ b: inout T) {
(a, b) = (b, a)
}
var a = 0, b = 1
swap(&a, &b)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1596 次 |
| 最近记录: |