함수 호출 중 원본 값을 변경할 수 있게 하는 Swift의 특별한 기능 중 하나는 In-Out 파라미터입니다. In-Out 파라미터를 사용하면 함수 내부에서 변경된 값이 함수 외부의 원본 변수에도 반영됩니다.
기본 구조
func swapValues(a: inout Int, b: inout Int) {
let temp = a
a = b
b = temp
}
위의 예제는 두 개의 정수값을 교환하는 함수입니다. inout 키워드를 사용하면, 해당 파라미터는 함수 내부에서 변경될 수 있으며, 변경된 값이 원본 변수에도 반영됩니다.
함수 호출
In-Out 파라미터를 사용하는 함수를 호출할 때는 변수 앞에 & 기호를 붙여야 합니다.
var value1 = 10
var value2 = 20
swapValues(a: &value1, b: &value2)
이렇게 하면 value1과 value2의 값이 서로 교환되며, 함수가 종료된 후에도 변경된 값이 유지됩니다.
결과 출력
print("value1: \(value1), value2: \(value2)") // 출력: value1: 20, value2: 10
이 예제에서는 swapValues 함수의 파라미터에 a와 b라는 레이블을 사용했으므로, 함수를 호출할 때 a:와 b:로 레이블을 지정해야 합니다. 이렇게하면 코드가 좀 더 읽기 쉽고 이해하기 쉬워질 수 있습니다.
In-Out 파라미터는 함수가 작업을 수행하는 동안 원본 값을 변경해야 할 때 매우 유용하게 사용될 수 있습니다. 이 기능을 활용하면 코드를 더 간결하고 효율적으로 만들 수 있습니다.
글 잘 봤습니다.