我对&符号的了解只是一点点的了解,但有时我会在变量名的前面看到它。将a &放在变量前面有什么作用?
&
用作inout使变量成为输入输出参数。实际上,输入输出表示通过参考传递值,而不是通过值传递值。而且,它不仅需要通过引用接受值,还需要通过引用传递值,所以用&传递值,foo(&myVar)而不是foo(myVar)
inout
foo(&myVar)
foo(myVar)
如您所见,您可以在Swift的错误处理中使用它,您必须创建一个错误引用并将其传递给使用&该函数的函数,如果发生错误,该错误值将填充错误值,或者像以前一样将变量传回
我们为什么用它?有时一个函数已经返回了其他值,而仅仅返回另一个值(如错误)会造成混淆,因此我们将其作为inout传递。在其他时候,我们希望这些值由函数填充,因此我们不必遍历很多返回值,因为该函数已经为我们做到了- 在其他可能的用途中。
希望对您有所帮助!