본문 바로가기

난 이 분야 전문가야!/ios

iOS swift :: 함수 파라미터로 들어온 변수를 직접 수정/변경하는법

자 위의 코드처럼 파라미터로 받은 변수를 수정하는 경우가 있다고 합시다.

위의 코드는 정상적으로 작동되지 않습니다.

왜냐 파라미터 변수인 <num>은 constant이기 때문에 수정이 불가한 변수이기 때문입니다.

 

이렇게 파라미터 자료형 앞에 inout 키워드를 넣어주고 함수 호출 시 인자 앞에 '&'를 붙여주면 수정이 가능해집니다.

출력 결과는 당연히 "print in func: 2" 입니다.

하지만 이렇게 되면 call by reference 이기 때문에

이 코드의 출력 값은

이렇게 기존 변수의 값도 같이 변경되지 이점 유의하며 사용합시다.

728x90