자 위의 코드처럼 파라미터로 받은 변수를 수정하는 경우가 있다고 합시다.
위의 코드는 정상적으로 작동되지 않습니다.
왜냐 파라미터 변수인 <num>은 constant이기 때문에 수정이 불가한 변수이기 때문입니다.
이렇게 파라미터 자료형 앞에 inout 키워드를 넣어주고 함수 호출 시 인자 앞에 '&'를 붙여주면 수정이 가능해집니다.
출력 결과는 당연히 "print in func: 2" 입니다.
하지만 이렇게 되면 call by reference 이기 때문에
이 코드의 출력 값은
이렇게 기존 변수의 값도 같이 변경되지 이점 유의하며 사용합시다.
728x90
'난 이 분야 전문가야! > ios' 카테고리의 다른 글
IOS Swift :: 함수 파라미터 이름없이 value만 받기 external, internal (0) | 2021.01.19 |
---|