가변 순회
Coddy Rust 여정의 논리와 흐름 섹션에 포함된 레슨. 66개 중 12번째.
때로는 벡터 요소를 읽는 것만으로는 충분하지 않고, 요소를 수정해야 할 때가 있습니다. 이전 레슨에서는 값을 순회하며 읽는 방법을 보여 주었지만, 이 레슨에서는 가변 참조를 사용하여 순회하는 동안 요소를 변경하는 방법을 배웁니다.
요소를 순회하면서 수정하려면 for 루프에서 &mut을 & 대신 사용해야 합니다:
let mut numbers = vec![1, 2, 3, 4];
for number in &mut numbers {
*number = *number * 2;
}&mut numbers는 벡터에 대한 가변 참조를 생성하며, 각 반복에서는 개별 요소에 대한 가변 참조를 제공합니다. * 연산자(역참조 연산자라고 함)는 참조가 가리키는 실제 값에 액세스하고 이를 수정하는 데 사용됩니다.
이 패턴은 데이터를 제자리에서 변환할 때 매우 유용합니다. 수정된 값으로 새 벡터를 만드는 대신 기존 벡터를 효율적으로 업데이트할 수 있습니다. 내용을 변경하므로 이 작업을 수행하려면 벡터를 mut로 선언해야 합니다.
위의 반복문이 끝나면 numbers에는 [2, 4, 6, 8]이 포함됩니다. 각 원래 값이 제자리에서 두 배로 늘어납니다.
챌린지
쉬움numbers라는 가변 벡터를 받아 각 요소에 제자리에서 10을 더한 다음 수정된 벡터를 반환하는 add_ten_to_all 함수를 작성하세요.
&mut를 사용한 가변 반복을 통해 각 요소를 직접 수정하세요. 실제 값에 접근하고 수정하려면 역참조 연산자 *를 사용해야 한다는 점을 기억하세요.
매개변수:
numbers(Vec<i32>): 수정할 정수의 가변 벡터
반환값: 각 요소에 10이 더해진 수정된 벡터 (Vec<i32>)
직접 해보기
fn add_ten_to_all(mut numbers: Vec<i32>) -> Vec<i32> {
// 여기에 코드를 작성하세요
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Rust 컴파일러