Différence entre == et === en Rust
Bonjour à tous ! J'ai récemment commencé à étudier Rust et j'ai rencontré un problème inattendu lors de la comparaison de valeurs. Dans certains langages (par exemple, JavaScript), il existe deux opérateurs de comparaison : == (avec conversion de type) et === (comparaison stricte sans conversion).
J'ai essayé d'utiliser === en Rust pour comparer des chaînes, mais le compilateur a généré une erreur :
fn main() {
let a = String::from("hello");
let b = String::from("hello");
if a === b {
println!("Égaux");
}
}
Erreur : expected one of ".", ";", "?", "}", or an operator, found "=="
Je m'attendais à ce que === fonctionne comme une comparaison stricte sans conversion de type, mais apparemment, cet opérateur n'existe pas en Rust. En revanche, le == normal fonctionne correctement :
if a == b {
println!("Égaux");
}
Question : quelle est la différence entre == et === en Rust ?
No answers yet.
Connectez-vous pour laisser une réponse