Rust的列舉型別Enum

hrx521發表於2024-11-19

Rust的列舉的變體可以持有值,並且每個變體持有的值的資料型別可以是不同的。

enum IpAddrKind {
    V4(u8,u8, u8, u8),
    V6(String)
}
let home = IpAddrKind::V4(127,0,0,1);
let loopback = IpAddrKind::V6(String::from("::1"));

可以為列舉實現方法,如下程式碼:

fn main(){
    let m=Message::Write(String::from("hello"));
    m.call();
}
enum Message {
    Quit,
    Move {x:i32,y: i32 },
    Write(String),
    ChangeColor(i32,i32,i32)
}
impl Message {
    fn call(&self){
    //...
    }
}

相關文章