728x90
inout 파라미터
- 기본적으로 swift 함수 내에 들어오는 파라미터 값들은 let(상수) 값이므로 immutable하다.
- 하지만 파라미터 이름과 타입 사이에 inout 키워드를 넣으면 파라미터의 주소값을 넘겨받아서 mutable하게 해당 파라미터를 사용가능함.
import UIKit
func swap(a: inout Int, b: inout Int) {
let temp = a
a = b
b = temp
}
var a = 1
var b = 2
print("before a: \(a), b: \(b)")
swap(&a, &b)
print("after a: \(a), b: \(b)")
/* 결과
before a: 1, b: 2
after a: 2, b: 1
*/
728x90
'Swift' 카테고리의 다른 글
[Swift] ARC (Auto Reference Counting) (0) | 2021.05.31 |
---|---|
[Swift] where절 (0) | 2021.05.31 |
[Swift] 제네릭 (Generics) (0) | 2021.05.28 |
[Swift] 이니셜라이저 (Initializer) (0) | 2021.05.28 |
[Swift] 옵셔널 추출 (Optional Unwrapping) (0) | 2021.05.05 |
댓글