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
廣告