Avatar ·

Rust में == और === के बीच अंतर

सभी को नमस्ते! हाल ही में मैंने Rust सीखना शुरू किया और मानों की तुलना करते समय एक अप्रत्याशित समस्या का सामना किया। कुछ भाषाओं (जैसे JavaScript) में दो तुलना ऑपरेटर होते हैं: == (प्रकार रूपांतरण के साथ) और === (बिना रूपांतरण के सख्त तुलना)।

मैंने Rust में स्ट्रिंग्स की तुलना करने के लिए === का उपयोग करने का प्रयास किया, लेकिन कंपाइलर ने त्रुटि दी:

fn main() {
    let a = String::from("hello");
    let b = String::from("hello");
    
    if a === b {
        println!("बराबर");
    }
}

त्रुटि: expected one of ".", ";", "?", "}", or an operator, found "=="

मुझे उम्मीद थी कि === बिना प्रकार रूपांतरण के सख्त तुलना के रूप में काम करेगा, लेकिन जाहिर है, Rust में ऐसा कोई ऑपरेटर नहीं है। जबकि सामान्य == ठीक काम करता है:

if a == b {
    println!("बराबर");
}

प्रश्न: Rust में == और === के बीच क्या अंतर है?