더북(TheBook)

코드 2-9 함수에서 소유권을 다루기

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

    let a = add_postal_code(address); ➋
    println!("{}", a); ➌
}

fn add_postal_code(mut address: String) -> String { ➍
    address.push_str(", 1234 Kingston"); ➎
    address ➏
}

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

➋ address를 함수에 전달하고 반환되는 값을 변수 a에 할당한다.

➌ 변경된 주소 값을 출력한다.

➍ 함수 매개변수는 수정할 수 있도록 가변 타입으로 선언(mut address: String)한다.

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

➏ 수정된 String을 반환(address)한다.