Developer/Rust
[Rust 알아가기] 구조체에 제너릭 사용 예제
데브포유
2020. 9. 23. 13:31
반응형
#[derive(Debug)]
struct Rect {
width: u32,
height: u32
}
impl Rect {
fn area(&self) -> u32 {
self.width * self.height
}
}
#[derive(Debug)]
struct RectT<T> {
width: T,
height: T,
}
impl<T> RectT<T>{
fn get_width(&self) -> &T {
&self.width
}
fn get_height(&self) -> &T {
&self.height
}
}
fn calc_rect(rect: &Rect) -> u32 {
rect.width * rect.height
}
fn main() {
let rect = Rect { width:300, height:200};
println!("면적1 = {}", calc_rect(&rect));
println!("면적2 = {}", rect.area());
println!("{:#?}", rect);
let rect = RectT { width: 1, height: 1};
println!("width = {}, height = {}", rect.get_width(), rect.get_height());
}
반응형