Avatar ·

Swift में == और === ऑपरेटरों में क्या अंतर है? शुरुआती लोगों के लिए विस्तृत व्याख्या

सभी को नमस्ते! मैंने अभी-अभी Swift सीखना शुरू किया है और भ्रम का सामना करना पड़ा। कोड में मैं दो ऑपरेटर देखता हूं: == और ===। पहली नज़र में ये एक ही काम करते हैं — मानों की तुलना करना। लेकिन मैंने देखा कि जब मैं इन्हें गलत तरीके से उपयोग करने की कोशिश करता हूं तो compiler कभी-कभी त्रुटि देता है।\n\nयहाँ एक उदाहरण है जो मुझे भ्रमित करता है:\n\n```swift\nclass Person {\n var name: String\n init(name: String) {\n self.name = name\n }\n}\n\nlet person1 = Person(name: "Alice")\nlet person2 = Person(name: "Alice")\nlet person3 = person1\n\nprint(person1 == person2) // Error: binary operator '==' cannot be applied to operands of type 'Person'\nprint(person1 === person2) // false\nprint(person1 === person3) // true\n```\n\nमेरे class के लिए `==` बिल्कुल काम क्यों नहीं करता, जबकि `===` काम करता है लेकिन अलग-अलग परिणाम देता है?