ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • inout
    Swift 2019. 10. 24. 22:07
    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

    댓글

Designed by Tistory.