提问
Rust 如何实现抽象
回答
使用trait 没有定义实现所以summarize方法以';'结尾
pub trait Summary {
fn summarize(&self) -> String;
}
提问
特征可以有默认实现嘛
回答
可以
提问
如何实现特征约束
回答
类似C# 里的泛型约束 item1、item2是Summary类型的特征
pub fn notify(item1: &impl Summary, item2: &impl Summary) {}
同理 函数返回值也可以是特征
fn returns_summarizable() -> impl Summary {
Weibo {
username: String::from("sunface"),
content: String::from(
"m1 max太厉害了,电脑再也不会卡",
)
}
}