Swift - 恒等运算符



恒等运算符用于检查给定的常量或变量是否引用同一个实例。这些运算符通常与对象或类一起使用,因为它们是引用类型。这些运算符与相等运算符不同。

相等运算符检查两个给定值是否相等,而恒等运算符检查两个给定变量是否引用同一个引用。Swift 支持两种类型的恒等运算符:

运算符 名称 示例
+=== 相同 Num1 === Num2
!== 不相同 Num1 !== Num2

Swift 中的相同运算符

相同运算符 "===" 用于检查给定的两个常量或变量是否引用类的同一个实例。如果是,则此运算符将返回 true。

否则,此运算符将返回 false。此运算符比较的是引用,而不是对象的内容。

语法

以下是相同运算符的语法:

myVariable1 === myVariable2

示例

Swift 程序,用于检查给定的变量是否引用同一个对象。

import Foundation

// Class
class TutorialsPoint {
   var empName: String
    
   init(empName: String) {
      self.empName = empName
   }
}

// Creating object of TutorialsPoint class
let object1 = TutorialsPoint(empName: "Monika")
let object2 = object1 

// Checking if both variables refer to the same object or not
// Using identical to (===) operator
if object1 === object2 {
   print("YES! Both object1 and object2 are identical")
} else {
   print("NO! Both object1 and object2 are not identical")
}

输出

YES! Both object1 and object2 are identical

Swift 中的不相同运算符

不相同运算符 "!==" 用于检查给定的变量是否不引用同一个运算符。如果是,则此运算符将返回 true。否则,它将返回 false。

语法

以下是“不相同”运算符的语法:

myVariable1 !== myVariable2

示例

Swift 程序,使用“不相同”运算符 "!==" 检查两个变量是否不引用同一个对象。

import Foundation

// Class
class Author1 {

   var bookName: String
    
   init(bookName: String) {
      self.bookName = bookName
   }
}
class Author2 {
   var bookName: String    
   init(bookName: String) {
      self.bookName = bookName
   }
}

// Creating objects
let obj1 = Author1(bookName: "Tales of Mumbai")
let obj2 = Author2(bookName: "Right to find")

// Using not identical to (!==) operator
if obj1 !== obj2 {
   print("They are identically not equal")
} else {
   print("They are identically equal")
}

输出

They are identically not equal
广告