使用Rust中的字符串文字匹配字符串

使用Rust中的字符串文字匹配字符串,rust,Rust,我正在学习Rust,并且已经在这段代码上停留了一段时间,该代码将字符串与一些文本相匹配 while done_setup == false { println!("Enter difficultly mode you wish to play (Easy/Medium/Hard):"); let mut difficulty = String::new(); io::stdin() .read_line(&mut d

我正在学习Rust,并且已经在这段代码上停留了一段时间,该代码将字符串与一些文本相匹配

while done_setup == false {
        println!("Enter difficultly mode you wish to play (Easy/Medium/Hard):");
        let mut difficulty = String::new();
        io::stdin()
            .read_line(&mut difficulty)
            .expect("Invalid input, aborting");
        match difficulty.as_str() {
            "Easy" => {num_guesses = 10;},
            "Medium" => {num_guesses = 7;},
            "Hard" => {num_guesses = 3;},
            _ => {
                println!("Pls enter a valid difficulty mode!");
                continue;
            },
        }
        println!("You are playing in {} mode, you have {} tries!", difficulty, num_guesses);
        done_setup = true;
    }
显然,该模式从不与“简单”、“中等”或“硬”匹配,因为用户输入总是流向默认情况。我读过类似的SO问题,我知道字符串对象与文本(str)不一样,但不应该
困难。as_str()
处理好了吗


我正在寻找一个干净的和“适当”的方式来编码这个,任何建议欢迎和提前感谢

结果可能包含尾部换行符

可用于去除前导和尾随空格