我正在尝试将选项字符串与匹配语句相匹配
let option_string = Some(String::from("Bob"));
match option_string {
Some("Mike") => false,
Some("Bob") => true,
_ => false,
}
Run Code Online (Sandbox Code Playgroud)
而且,显然,出现了错误expected struct 'String, found '&str'。
我尝试将其更改为字符串转换
Some("Mike".to_string()) => false
// Or
Some(String::from("Mike")) => false
Run Code Online (Sandbox Code Playgroud)
但面临着不同的错误:'fn' calls are not allowed in patterns
唯一的工作方法是Mike在之前放入变量中Some
let mike = String::from("Mike");
// and in match
Some(mike) => true,
Run Code Online (Sandbox Code Playgroud)
在有值的情况下,有一种更优雅的方法来匹配String但不是字符串文字吗?matchOption
我找到了答案,但它看起来也不够优雅。但这只是不创建额外变量或函数的一种可能方法吗?
rust ×1