더북(TheBook)

코드 2-10 참조 전달하기

fn main() {
    let mut address = String::from("Street 1"); 

    add_postal_code(&mut address); 

    println!("{}", address); 
}

fn add_postal_code(address: &mut String) { 
    address.push_str(", 1234 Kingston"); 
}

가변 변수를 선언하고 String 값을 할당한다.

add_postal_code 함수에 address 참조를 전달한다.

수정된 address를 출력한다.

함수 매개변수는 String의 가변 타입 참조를 기대한다.

push_str 메서드는 String을 직접 변경한다.

add_postal_code 함수는 함수 범위 내에서 해당 소유권을 대여받는다. 따라서 main 함수의 address 변수는 (이전과는 달리) 출력을 시도하기 전에는 범위를 벗어나지 않는다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.