Avatar ·

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

सभी को नमस्कार! कृपया मुझे बताएं कि Swift में == और === ऑपरेटरों के बीच मूलभूत अंतर क्या है? मैं समझता हूं कि दोनों का उपयोग तुलना के लिए किया जाता है, लेकिन जब मैं क्लास के दो instances की तुलना करने का प्रयास करता हूं, तो परिणाम अपेक्षित से भिन्न होता है।

यहां कोड का एक उदाहरण है जो मुझे भ्रमित करता है:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person1 = Person(name: "Alice")
let person2 = Person(name: "Alice")

print(person1 == person2) // कंपाइलेशन त्रुटि: Binary operator '==' cannot be applied to two 'Person' operands
print(person1 === person2) // false

let person3 = person1
print(person1 === person3) // true

मैंने उम्मीद की थी कि person1 == person2 true लौटाएगा, क्योंकि उनके नाम समान हैं, लेकिन मुझे कंपाइलेशन त्रुटि मिली। जबकि === काम करता है, लेकिन false लौटाता है, हालांकि ऑब्जेक्ट समान दिखते हैं। मैंने पहले ही प्रयास किया है:

  • जोड़ना

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग