7.6.3 相等与同一
本小节将介绍实例之间的相等与同一的问题。相等是指两个变量的值相等,比如数字1和数字1是相等的,但是如果存放数字的变量是变量1和变量2,它们就不是同一的。同一是指两个变量指向了同一个引用,这样才是同一的。相等使用“==”来做判断,同一使用“===”来做判断,同一的判断只能使用在引用类型上。代码示例如下:
动手写7.6.3 EqualOrSame


控制台输出如下:

对值类型只能使用“==”,如果print(number1 === number2)时,编译器会直接报错。compare1与compare2指向了同一个引用,所以打印的结果也为true。如果要对引用对象进行相等判断,需要满足Equatable协议,重写“==”方法。Compare实现了Equatable协议,compare3和compare4相等判断为真。