2016-11-15 1 views

답변

8

함수 매개 변수는 항상 읽기 전용입니다 (즉, val으로 선언 됨). 당신이 그것을 변경하려면
, 당신은 (새) 지역 변수를 사용해야합니다 :

fun test(temp: Int) { 
    var myTemp = temp 
    myTemp = 5 
} 
+0

후속 질문. 함수 매개 변수가 읽기 전용 인 이유는 무엇입니까? 어떤 목적을 위해 봉사합니까? – user3282666

+1

Kotlin은 변경 가능성에 비해 불변성을 선호합니다. 이는 기본적으로 읽기 전용 매개 변수에 반영됩니다. 재 할당하고 싶다면, 같은 이름의 변수를 사용하여 그림자를 만들 수 있습니다 :'var temp = temp' –

+0

매개 변수에 값을 할당하는 것은 자바에서는 나쁜 습관입니다. 함수 외부의 객체 값을 변경한다고 생각할 수도 있습니다. Kotlin은 금지되어 있으며 좋은 결정이었습니다. –

0

temp 지역 변수 아니다 - 그것은 함수 매개 변수입니다. 다시 할당 할 필요가 없습니다.

관련 문제