Easy Rust #20 ~ #22 ownership, move semantics, copy/clone


Easy Rust #20 ~ #22 ownership, move semantics, copy/clone

Ownership 러스트에는 ownership이란 개념이 있습니다. print_country는 String 타입을 인자로 받아 출력해주는 함수입니다. 메인함수에서는 String 타입의 country를 만들어준 후 print_country에 인자로 넣어주고 있습니다. print_country를 두 번 호출한 상황입니다. 그런데 오류가 뜹니다. 선언한 country의 소유권이 첫 번째로 호출한 print_country로 넘어갔기 때문입니다. 소유권(ownership)이란, 러스트에서 안전성을 위해 도입했는데 사용하고자 하는 변수의 소유권이 있어야 변수를 사용할 수 있습니다. 이를 move semantics라고도 합니다. 그럼 함수를 호출할때마다 변수를 새로 선언해줘야 할까요? 그건 아니고 방법은 있습니다. 바로 원본을 사용하는 것이 아니라 reference를 사용하는 방법입니다. 이렇게 원본 대신 참조를 사용하면 소유권의 이동 없이 변수를 사용할 수 있습니다. 이런 식으로 함수에서 re...


#rust #러스트 #프로그래밍

원문링크 : Easy Rust #20 ~ #22 ownership, move semantics, copy/clone