gpt4 book ai didi

rust - 如何将 char 转换为整数并在 Rust 中匹配武器?

转载 作者:行者123 更新时间:2023-12-03 11:32:36 25 4
gpt4 key购买 nike

我正在学习 Rust。

我正在使用 .to_digit() 将 char 转换为整数,但之后我无法匹配转换的值。感谢您的帮助!

let c: char = '2';
let to_num = c.to_digit(10);

match to_num {
Some(2) => {println!("matched")},
None => {},
}

错误:模式 Some(0u32..=1u32)Some(3u32..=std::u32::MAX) 未涵盖

最佳答案

char::to_digit返回 Option<u32> , 表示转换成功时的数字或 None如果转换失败。您正在匹配:

  • Some(2) ,表示成功转换,结果为数字 2,并且
  • None ,表示转换不成功。

编译器告诉你,对于除 2 之外的任何数字,所有成功的转换如何? ( Some(0u32..=1u32) , (3u32..=std::u32::MAX) )。

解决这个问题的一种方法是使用下划线模式,它可以匹配任何内容。这样,你可以匹配任何你感兴趣的东西,然后使用 _否则作为后备。例如:

match to_num {
Some(2) => println!("matched"),
_ => (),
}

但是,在这种情况下,简单的“if”语句可能是更好(更规范)的选择:

if to_num == Some(2) {
println!("matched");
}

关于rust - 如何将 char 转换为整数并在 Rust 中匹配武器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63370657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com