Post

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

예제 설명

  1. 매개변수 a → temp
  2. 매개변수 b → a
  3. temp → b
  4. 입력된 값인 someInt, anotherInt을 주입해서 값이 변경되고 함수가 종료되어도 변경이 유지됨.
This post is licensed under CC BY 4.0 by the author.