Swift有inout
关键字通过引用传递基元参数。我什么时候才会用这个方法来传递值?Swift:通过引用传递基元的用例是什么
编辑:我意识到你可以使用它来改变它的值,但为什么不只是通过值传递它,并将它分配给函数返回的元组中的对应值呢?
Swift有inout
关键字通过引用传递基元参数。我什么时候才会用这个方法来传递值?Swift:通过引用传递基元的用例是什么
编辑:我意识到你可以使用它来改变它的值,但为什么不只是通过值传递它,并将它分配给函数返回的元组中的对应值呢?
如果您想要修改原始值而不是仅复制,那么您可以这样做。不过,我认为你应该返回新的值,因为你可以在Swift中返回多个值。
我也会争辩说你应该返回新值,因为你可以在Swift中返回多个值。 – zaph
这似乎是一个似是而非的理由:
“也许目标C库的现有机构有很多的输出参数,他们不想将它们包装全部为雨燕”
http://blog.lexspoon.org/2014/06/my-analysis-of-swift-language.html
我相信这就是这个特性在语言中完全存在的原因。我不确定这是否是创建使用inout的新API的合理原因。 – drewag
语言让你做到这一点并不意味着它始终是很好的做法,这样做 –
它的赋值运算符是如何实现的:功能+ =(INOUT LHS:诠释,RHS:智力){LHS = lhs + rhs} –