-
728x90
함수로 전달된 파라미터는 함수 내부에서 상수로 취급된다. 이때 파라미터의 값을 변경해주고 싶다면,
inout
을 붙여준다. 이는 함수 내부에서 값이 변경될 것이라는 신호다. 바로 변수로서 값을 변경할 수 있고 외부 변수의 값도 바뀐다.따라서 함수의 파라미터는 당연히 값이 변경될 수 있는 var로 선언된 변수여야하며,
&
를 붙여서 레퍼런스를 넘겨준다.예를들어 다음과 같이 사용한다,
func doulbeInPlace(number: inout Int) { number *= 2 } var myNum = 10 doubleInPlace(number: &myNum) print(myNum) // 20
'Swift' 카테고리의 다른 글
escaping closure (0) 2020.01.30 mutating (0) 2019.11.19 Variadic functions, 불특정 개수 파라미터 (0) 2019.10.24 Class vs Struct in Swift (0) 2019.10.21 KVO(Key-Value-Observing) (0) 2019.09.20