zoukankan      html  css  js  c++  java
  • 结构体和方法

    结构体和方法

    use std::fmt;
    
    #[derive(Debug)]
    struct Rectangle {
         u32,
        height: u32,
    }
    
    impl std::fmt::Display for Rectangle {
        fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
            write!(f, "Rectangle  {} height: {}", self.width, self.height)
        }
    }
    
    impl Rectangle {
        fn area(&self) -> u32 {
            self.width * self.width
        }
    
        fn can_hold(&self, other: &Rectangle) -> bool {
            self.width > other.width && self.height > other.height
        }
    
        fn square(size: u32) -> Rectangle {
            Rectangle {
                 size,
                height: size,
            }
        }
    }
    
    fn main() {
        let rect1 = Rectangle {  30, height: 50 };
        let rect2 = Rectangle {  10, height: 40 };
        let rect3 = Rectangle {  60, height: 45 };
        let rect4 = Rectangle::square(40);
    
        println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2));
        println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3));
    
        println!("rect4 is {}", rect4);
        println!("rect4 is {:#?}", rect4);
        println!(
            "The area of the rectangle is {} square pixels.",
            rect4.area()
        );
    }

  • 相关阅读:
    tyvj1034 尼克的任务
    一维数状数组区间修改,查询
    ACM-T3分块
    测试2T3
    IOS下自定义click事件使用alert的bug
    小知识点
    CSS3动画基本知识
    CSS3秘笈:第十二章&第十三章
    CSS3秘笈:第十一章
    CSS3秘笈:第十章
  • 原文地址:https://www.cnblogs.com/lsgxeva/p/8544200.html
Copyright © 2011-2022 走看看