코드 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)한다.