在 Swift 中使用相同的运算符(===)
Posted
技术标签:
【中文标题】在 Swift 中使用相同的运算符(===)【英文标题】:Use of identical operator(===) in Swift [duplicate] 【发布时间】:2015-07-23 10:59:21 【问题描述】:我对快速编程很陌生。我被 Swift 中的 === 运算符卡住了。 Swift 中相同运算符 (===) 的基本用途是什么。
【问题讨论】:
【参考方案1】:===
是identity operator,它测试两个变量是否引用同一个实例。
相等运算符==
只测试两个对象是否相等。
您可以在 Playground 中测试以下代码:
let str1 = NSURL(string: "http://www.google.com")
let str2 = str1
let str3 = NSURL(string: "http://www.google.com")
str1 == str2 // true
str1 == str3 // true
str1 === str2 // true
str1 === str3 // false
【讨论】:
【参考方案2】:它比较内存地址而不是比较内容 afaik。例如
var s1 = "bla"
var s2 = "bla"
if(s1 == s2)
println("string values are the same") //will print
if(s1 === s2)
print("but not the exact same string") //wont print
【讨论】:
以上是关于在 Swift 中使用相同的运算符(===)的主要内容,如果未能解决你的问题,请参考以下文章