小编Mad*_*677的帖子

字符串与 Rust 中的选项匹配 Some

问题描述

我正在尝试将选项字符串与匹配语句相匹配

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

4
推荐指数
1
解决办法
1499
查看次数

标签 统计

rust ×1