【Rust Course】读书笔记-match 和if let

42 阅读1分钟

提问

match 如何多匹配和匹配剩余项

回答

  • 使用 'X|Y' 可以进行多条件匹配
  • 使用 '_'可以进行剩余项匹配
  • match必须匹配所有项目

提问

match可以赋值给变量吗

回答

可以,match中的条件以逗号结尾是表达式可以赋值给变量

enum IpAddr {
   Ipv4,
   Ipv6
}

fn main() {
    let ip1 = IpAddr::Ipv6;
    let ip_str = match ip1 {
        IpAddr::Ipv4 => "127.0.0.1",
        _ => "::1",
    };

    println!("{}", ip_str);
}