【问题标题】:Use of identical operator(===) in Swift [duplicate]在 Swift 中使用相同的运算符(===)
【发布时间】:2015-07-23 10:59:21
【问题描述】:

我对快速编程很陌生。我被 Swift 中的 === 运算符卡住了。 Swift 中相同运算符 (===) 的基本用途是什么。

【问题讨论】:

    标签: ios 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-26
        • 2017-08-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多