rust(68)-rust enum
生活随笔
收集整理的這篇文章主要介紹了
rust(68)-rust enum
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Finished dev [unoptimized + debuginfo] target(s) in 0.05sRunning `F:\learn\rustlearn\learn60\target\debug\learn60.exe`
FloatNum(2.2725)
IntNum(20)
None------------------
(program exited with code: 0)請(qǐng)按任意鍵繼續(xù). . .
// `derive`屬性會(huì)自動(dòng)創(chuàng)建實(shí)現(xiàn),借助`fmt::Debug`使得這個(gè)`struct`能夠打印。
#[derive(Debug)]
enum Num{None, IntNum(i32),FloatNum(f32),}fn read_num(num1:&Num,num2:f32)->Num{let mut result=Num::None;if num2!=0.0{match num1{&Num::FloatNum(val)=>result=Num::FloatNum(val/num2),&Num::IntNum(val)=>result=Num::IntNum(val /num2 as i32), &Num::None=>result=Num::None, } }return result;
}
fn main() {let x1=Num::FloatNum(18.18);let x2=Num::IntNum(61);println!("{:?}",read_num(&x1,8.0));println!("{:?}",read_num(&x2,3.0));println!("{:?}",read_num(&x2,0.0));
}
enum 類似于C++的union,但更強(qiáng)大,可以為每個(gè)成員指定附屬的類型的信息。
將各種類型拼在一起,可組成新的類型
總結(jié)
以上是生活随笔為你收集整理的rust(68)-rust enum的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring MVC 执行过程原理(请求
- 下一篇: Java new关键字和newInsta