본문 바로가기
Smart Device/Swift

Swift 함수 #9 In-Out 파라미터

by 언덕너머에 2015. 6. 2.

In-Out 파라미터

함수에 파라미터로 넘기는 값을 변경할 수 있는 기능을 제공한다.


  - 함수를 정의할 때 파라미터 앞에 inout이라는 키워드를 붙인다.

  - 함수를 호출할 때 파라미터 앞에 & 기호를 사용한다.


예제)

func swapTwoInts(inout a: Int, inout b: Int) {

    let temporaryA = a

    a = b

    b = temporaryA

}

var aInt = 100

var bInt = 200

println("변수 a 값은 \(aInt)이고, 변수 bInt 값은 \(bInt)이다.")

  //--> 변수 a 값은 100이고, 변수 bInt 값은 200이다.


swapTwoInts(&aInt, &bInt)

println("변수 a 값은 \(aInt)이고, 변수 bInt 값은 \(bInt)이다.")

  //--> 변수 a 값은 200이고, 변수 bInt 값은 100이다.



* In-Out 파라미터는 디폴트 값을 가질 수 없다. In-Out 파라미터의 값을 변경하는 역할을 하므로 디폴트 값을 

  사용하도록 허용되지 않는다.