我最近学习了 Swift 中的“输入输出参数”,我有问题想问你。
“In-Out Parameters”比 e.x. 更好的用例是什么? func 返回值,你可以分配给 var?
谢谢你的帮助。
最佳答案
我认为 inout
参数的一个很好的用例是 The Swift Programming Language 提供的 swapTwoInts
函数。 .
func swapTwoInts(inout a: Int, inout b: Int) {
let temporaryA = a
a = b
b = temporaryA
}
给定
var a = 0
var b = 1
你可以轻松调用
swapTwoInt(&a, b: &b)
场景 2:没有 inout 参数
另一方面,如果没有inout
参数,函数应该写成如下(实际上更紧凑)
func swapTwoInt(a: Int, b: Int) -> (a:Int, b:Int) {
return (a:b, b:a)
}
但使用需要 3 行代码而不是 1 行:
let swapped = swapTwoInt(a, b: b)
a = swapped.a // was swapped.b, fixed as suggested by Martin R
b = swapped.b
注意事项
如您所见,在场景 2 中,函数的部分逻辑需要在函数本身之外编写。这并不好,因为它会在每次调用函数时产生代码开销。
关于ios - Swift 输入输出参数 - 用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34062396/