Равенство символов в Rust
Два символа сравнивают парой знаков равенства, как два числа. Ответ логический: да, если коды совпали, и нет, если знаки разные. Один знак равенства по-прежнему означает присваивание, а не проверку.
Сравнение не меняет переменные, оно только отвечает на вопрос о совпадении. Результат удобно использовать в ветке с условием.
Проверим, совпала ли буква с ожидаемой:
let letter = 'A';
if letter == 'A' {
println!("yes");
} else {
println!("no");
}
При другом значении ветка сменится:
let letter = 'B';
if letter == 'A' {
println!("yes");
} else {
println!("no");
}
Дан символ:
let mark = '?';
При совпадении с '?' выведите "hit",
иначе "miss".
Даны символы:
let a = 'x';
let b = 'x';
Если a равно b, выведите "same",
иначе "diff".
Скажите, чем сравнение двух символов отличается от присваивания одного символа переменной.