&
-
inoutSwift 2019. 10. 24. 22:07
함수로 전달된 파라미터는 함수 내부에서 상수로 취급된다. 이때 파라미터의 값을 변경해주고 싶다면, inout 을 붙여준다. 이는 함수 내부에서 값이 변경될 것이라는 신호다. 바로 변수로서 값을 변경할 수 있고 외부 변수의 값도 바뀐다. 따라서 함수의 파라미터는 당연히 값이 변경될 수 있는 var로 선언된 변수여야하며, & 를 붙여서 레퍼런스를 넘겨준다. 예를들어 다음과 같이 사용한다, func doulbeInPlace(number: inout Int) { number *= 2 } var myNum = 10 doubleInPlace(number: &myNum) print(myNum) // 20