변경 가능한 변수는 키워드 mut
으로 선언되고 초기화되지만 다음 코드 행에 사용되는 경우 키워드 mut
을 반복해야합니다.두 번째로`mut '를 반복 작성해야하는 이유는 무엇입니까?
내 생각에 변수가 선언되고 변경 가능하도록 초기화되면 예상대로 유지됩니다. 이것은 통사론의 설탕인가 아니면 이것에 대한 특별한 이유가 있습니까?
나는 위의 코드는 다음과 같이 것으로 기대 : 나는 read_line
에 호출에서 mut
키워드를 생략 한
let mut guess = String::new();
io::stdin()
.read_line(&guess)
.expect("Failed to read line");
참고.
인용 된 텍스트를 확장하려면'x '를 쓰는 것은'x'에 대한 다중 참조를 동시에 만들 수 있기 때문에 불변의'x '에 매우 유용 할 수 있습니다. 모든'& x'가'x'가 변경 가능할 때'& mut x'를 자동으로 의미한다면, 하나의 범위에서'x'에 대한 하나 이상의 참조를 생성 할 수 없습니다. – user4815162342