Swift 기초문법 - 16. 매개변수 inout

정성윤·2023년 7월 17일
0

Swift 이론

목록 보기
18/64

매개변수 'inout'은 Swift에서 함수에 전달되는 값을 변경할 수 있는 특별한 매개변수입니다.

기본적으로 Swift의 함수는 매개변수를 상수로 취급하여 값을 변경할 수 없습니다. 하지만 'inout' 매개변수를 사용하면 해당 매개변수에 전달된 값을 함수 내부에서 변경할 수 있습니다.

'inout' 매개변수는 함수 호출 시에 앰퍼샌드(&)를 사용하여 전달되며, 호출된 함수 내부에서 해당 매개변수를 변경하면 원래의 값을 변경시킬 수 있습니다.

이러한 변경은 함수 외부에서도 유지되며, 함수가 종료된 후에도 그대로 유지됩니다.

func swapValues(_ a: inout Int, _ b: inout Int) {
    let temp = a
    a = b
    b = temp
}
var x = 10
var y = 20
print("Before swapping: x = \(x), y = \(y)")  // Before swapping: x = 10, y = 20
swapValues(&x, &y)
print("After swapping: x = \(x), y = \(y)")   // After swapping: x = 20, y = 10


그대로 값을 넣으면 상수이기 때문에 에러처리됩니다.
특정한 변수에 담아 함수로 앰퍼샌드로 전달해야합니다.

참고(출처) : 개발하는 정대리, 야곰(Swift5), ChatGpt

profile
이유있는 스위프트 개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 17일

저도 개발자인데 같이 교류 많이 해봐요 ㅎㅎ! 서로 화이팅합시다!

답글 달기