본문 바로가기

Ownership6

[Rust] Ownership(소유권) 기초 예제 : &str (37일차) [예제 코드_1] fn main() { let name: &'static str = "Rust"; do_something(name); do_something(name); } fn do_something(name: &str) { println!("Hello, {:?}!", name); } [실행 결과] Hello, Rust! Hello, Rust! [예제 코드_2] fn main() { let name: &'static str = "Rust"; do_something(name.clone()); do_something(name.clone()); } fn do_something(name: &str) { println!("Hello, {:?}!", name); } [실행 결과] Hello, Rust! Hello.. 2023. 1. 20.
[Rust] Ownership(소유권) 기초 예제 : For Loop (35일차) [예제 코드_1] fn main() { let names = vec![ String::from("John"), String::from("Jane"), ]; for name in names { println!("{}", name); } } [실행 결과] John Jane [예제 코드_2] fn main() { let names = vec![ String::from("John"), String::from("Jane"), ]; for name in names { println!("{}", name); } println!("Names: {:?}", names); } [실행 결과] error[E0382]: borrow of moved value: `names` --> src/main.rs:11:29 [예제 코드_.. 2023. 1. 18.
[Rust] Ownership(소유권) 기초 예제 : Vec<String> (34일차) [예제 코드_1] fn main() { let names = vec![ String::from("John"), String::from("Jane"), ]; do_something(names); } fn do_something(names: Vec) { println!("{:?}", names); } [실행 결과] ["John", "Jane"] [예제 코드_2] fn main() { let names = vec![ String::from("John"), String::from("Jane"), ]; do_something(names); println!("{:?}", names); } fn do_something(names: Vec) { println!("{:?}", names); } [실행 결과] error[.. 2023. 1. 16.
[Rust] Ownership(소유권) 기초 예제 : Struct (33일차) [예제 코드_1] #[derive(Debug)] struct Movie { title: String, } fn main() { let movie = Movie { title: String::from("Rust") }; do_something(movie); } fn do_something(movie: Movie) { println!("Movie: {:?}!", movie); } [실행 결과] Movie: Movie { title: "Rust" }! [예제 코드_2] #[derive(Debug)] struct Movie { title: String, } fn main() { let movie = Movie { title: String::from("Rust") }; do_something(movie); pri.. 2023. 1. 15.