Swift의 inout이란?
Swift의 inout이란?
inout 이란?
함수 내부로 들어온 매개변수의 값은 원래 상수지만 inout을 사용하면 변경이 가능하다.
그리고 함수가 종료되어도 그 변경된 값을 유지할 수 있다.
inout
으로 지정된 매개변수가 지정되면 함수를 호출할때 매개변수 앞에 &
표시를 해야한다.
예제 코드
1
2
3
4
5
6
7
8
9
10
func swapTwoInts(_ a: inout Int, _ b: inout Int) {
let temp = a
a = b
b = temp
}
var someInt = 3
var anotherInt = 107
swapTwoInts(&someInt, &anotherInt)
// someInt = 107, anotherInt = 3
예제 설명
- 매개변수 a → temp
- 매개변수 b → a
- temp → b
- 입력된 값인 someInt, anotherInt을 주입해서 값이 변경되고 함수가 종료되어도 변경이 유지됨.
This post is licensed under CC BY 4.0 by the author.