Dzwebs.Net

撰写电脑技术杂文十余年

泛型struct和泛型enum之impl的联合示例

Admin | 2023-3-28 21:29:36 | 被阅次数 | 3239

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  话不多说,如题,直接上代码:

#[derive(Debug)]
struct MyRgb<U>{
r:U,
g:U,
b:U,
}
#[derive(Debug)]
enum Mycolor<U>{
W(U),
G(U),
Rgb(U),
}
impl<U> Mycolor<U>{
fn getvalue(&self) -> &U{
match &self{
Mycolor::W(x) => x,
Mycolor::G(x) => x,
Mycolor::Rgb(x) => x,
}
}
}
fn main(){
let s = MyRgb{r:120,g:150,b:133};
let m = Mycolor::Rgb(s);
println!("{:?}",m.getvalue().b);
println!("* * * * * * * * * * * * * * * * * *");
let m = Mycolor::W(99.9);
println!("{:?}",m.getvalue());
println!("* * * * * * * * * * * * * * * * * *");
let m = Mycolor::G("Oh.my god.".to_string());
println!("{:?}",m.getvalue());
}
/*
输出如下内容:
133
* * * * * * * * * * * * * * * * * *
99.9
* * * * * * * * * * * * * * * * * *
"Oh.my god."
*/


该杂文来自: 成功之路

上一篇:容易被人忽视的最有效的奖励方式是包容与信任

下一篇:暂时没有文章了

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计