问题描述
我正在try 将选项字符串与match语句匹配
let option_string = Some(String::from("Bob"));
match option_string {
Some("Mike") => false,
Some("Bob") => true,
_ => false,
}
很明显,错误为expected struct 'String, found '&str'
.
我试着把它改成字符串
Some("Mike".to_string()) => false
// Or
Some(String::from("Mike")) => false
但面临一个不同的错误:'fn' calls are not allowed in patterns
唯一有效的方法是将Mike
放入Some
之前的变量中
let mike = String::from("Mike");
// and in match
Some(mike) => true,
问题
有一种更优雅的方法来匹配match
个具有Option
个值的情况下的String
个而不是字符串文字?
但它看起来不够优雅.但这是否只是一种不创建额外变量或函数的可能方法?