Created
October 5, 2021 10:16
-
-
Save hsnks100/f24b299e8c4122dc1305b14ba4bf1a9a to your computer and use it in GitHub Desktop.
rust 구조체 개념박기
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fn main() { | |
println!("area: {}", area(10, 10)); | |
println!("area2: {}", area2((10, 10))); | |
let rect = Rectangle{h:10, w:10}; | |
println!("area3: {}", area3(&rect)); | |
println!("area3-1: {:?}", rect); | |
println!("area4: {:?}", rect.area()); | |
} // 여기서 x는 스코프 밖으로 나가고, s도 그 후 나갑니다. 하지만 s는 이미 이동되었으므로, | |
// 별다른 일이 발생하지 않습니다. | |
#[derive(Debug)] | |
struct Rectangle { | |
h: i32, | |
w: i32, | |
} | |
impl Rectangle { | |
fn area(&self) -> i32 { | |
self.h * self.w | |
} | |
} | |
fn area(w: i32, h: i32) -> i32{ | |
w * h | |
} | |
fn area2(d:(i32, i32)) -> i32{ | |
d.0 * d.1 | |
} | |
fn area3(d: &Rectangle) -> i32{ | |
d.h * d.w | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment