Rust——枚举
当一个变量有几种确定的取值情况下,可以将它定义为枚举类型。如性别选择(男/女)
通过 枚举名::枚举值 来访问获取枚举值
1.无参数枚举类型
1 2 3 4 5 6 7 8 9 10 11 12 | #[derive(Debug)] enum Sex{ //无参数枚举类型 male, female, } fn main(){ let lilei = Sex::male; let lily = Sex::female; //结构体/枚举类型输出均{:?} println!( "lilei is a {:?} and lily is a {:?}" ,lilei,lily); } |
输出结果:
2.含参数枚举类型
区别于无参数枚举类型地方是,可以给枚举成员添加 元组属性
#[derive(Debug)] enum PayAccount{ ///支付帐号,带参数枚举类型 AlipayAccount(String), WechatAccount(String), BankAccount(u64), } enum People{ ///带参数枚举类型 ChinesePeople{nation:String,totalnumber:u128}, AmericanPeople{totalnumber:u128}, JapanesePeople{height:f64}, } fn main(){ let _alibaba = PayAccount::AlipayAccount(String::from("efun@qq.com")); let _wechat = PayAccount::WechatAccount(String::from("onlyefun")); let _bank = PayAccount::BankAccount(111122223333444); let zhonghuijie = People::ChinesePeople{ nation:String::from("han"),totalnumber:14_000_000_000_000_000}; match zhonghuijie{ People::AmericanPeople{totalnumber}=>{ println!("American number is {}",totalnumber); }, People::ChinesePeople{nation,totalnumber}=>{ println!("Chinese nation is {},totalnumber is {}",nation,totalnumber); }, People::JapanesePeople{height}=>{ println!("Japanese height is {}",height); } } println!("alibaba account is {:#?}",_alibaba); println!("Run End"); }
运行结果:
以上代码在VS Code中运行,结果如下:
中间少了邮箱地址邮件地址显示
去掉字符@后,正常显示
------------------------------------
承接
**视觉检测软件开发及调试
**工业软件开发
**上位机软件开发
wechat:luoran2024
qq:565934058
email:taoyuansu@qq.com
海量教育资源及影视资源下载
微信公众号:EFun科技
------------------------------------
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战