gpt4 book ai didi

swift - swift 中二进制表达式的问题

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:42 24 4
gpt4 key购买 nike

我想知道 Equal(==) 和 identical(===) 表达式之间的区别。还有为什么我们使用模式匹配 (~=) 表达式。我在哪里可以使用这些表达式。谁能解释一下。提前致谢。

我的示例代码是:

  var sample1 = "Steve jobs"
var sample2 = "Steve jobs"
sample1 === sample2 ? println("Its Equal"):println("Not equal") //result "Not equal"

var sample3 = "Steve jobs"
var sample4 = "Steve jobs"
sample3 == sample4 ? println("Its Equal"):println("Not equal")//result "Its Equal"

始终欢迎使用具有良好示例的其他二进制表达式。我认为 objective-c 中不存在模式匹配。

最佳答案

你写的例子连编译都编译不了

enter image description here

那是因为 === 仅针对对象类型 定义,而 Swift String 是一个值类型 .

一般来说,表示两个对象实例是同一个实例。而 == 检查内容的相等性。

您只能将 === 与对象类型的 NSString 实例一起使用:

var sample1: NSString = "string1"
var sample2: NSString = "string1"

sample1 === sample2 //false

模式匹配表达式~=switch-case控制语句使用。 switch(value) 定义一个值,每个 case pattern: 定义一个匹配的模式。 ~= 函数会为每个 case 调用,以决定是否应执行 case 语句。

关于swift - swift 中二进制表达式的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24363896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com