[Swift] 함수 파라미터로 들어온 변수를 직접 수정하는 법

Han's·2023년 7월 25일
0

TIL

목록 보기
7/20
post-thumbnail

함수 내에서 파라미터의 값을 변경하는 것은 아래와 같이 기본적으로 허용되지 않습니다.

그러나 로직을 구현하다 보면 파라미터의 값을 직접 변경하고 싶을 때가 있습니다.
이때 함수를 호출 시 인자 앞에&를 사용하고, 파라미터 자료형 앞에 inout 키워드를 넣어주면 함수 내에서 값을 변경할 수 있습니다.

var num: Int = 0

func increase(number: inout Int) {
    number += 1
    print("increase number -> \(number)")
}

increase(number: &num)
increase(number: &num)

  • &를 사용하면 해당 파라미터를 가변으로 전달하게 되어 함수 내에서 값을 변경할 수 있습니다.
  • inout 키워드는 함수 파라미터가 가변으로 전달되도록 지정하는 데 사용됩니다. 함수의 파라미터에 inout을 지정하면 해당 파라미터의 값이 함수 내에서 변경되면 함수 외부에서도 변경된 값을 유지하게 됩니다.
profile
 iOS Developer

0개의 댓글