Rust---特征

Rsut中的特征类似于CSharp中的接口

特征定义:  trait   定义特征名

如下定义一个特征Playable于media.rs文件中:

pub trait Playable{    
     fn play(&self);
     fn pause(){
        println!("Paused");
    }
}

main.rs文件中:

mod media;
use media::Playable;

struct Audio(String);
struct Video(String);

impl Playable for Audio{
    fn play(&self){
        println!("Now playing audio:{}",self.0)
    }
}
///impl关键字后跟特征名来声明特征实现,for后跟要实现的特征类型
impl Playable for Video{
    fn play(&self){
        println!("Now playing video:{}",self.0)
    }
}

fn main() {
    let audio = Audio("蓝莲花.mp3".to_string());
    let video = Video("天若有情.mkv".to_string());
    audio.play();
    video.play();
}

 终端中运行:

      cargo build

      cargo run

结果如下:

Rust---特征

 

 

注:以上代码参照《精通Rust》一书

 

上一篇:android build,android通讯录开发实例


下一篇:OK1046A-C2实现USB从模式