swift - 比较两个 Int

标签 swift swift3

<分区>

我正在通过链表搜索特定 Int 值,但收到错误消息“二元运算符 != 无法应用于两个‘Int’操作数。

我的代码:

//node.data is an Int
//someInt is an Int

if node.data != someInt {...}

我假设我可以比较 Int 值,因为 Int 符合 Equatable。有一个更好的方法吗?

完整代码:

class Node<Int> {
    var data: Int
    var next: Node? = nil

    init(data: Int) {
        self.data = data
    }
}

class LinkedList<Int> {
    var head: Node<Int>?
    func find(someInt: Int) {
        var partitioningNode = head

        //find node
        guard var node = head else {
            print("empy linked list")
            return
        }
        if node.data != someInt {
            partitioningNode = node
            ...
        }
    }
}

最佳答案

在绝大多数情况下,像“二元运算符 ... 不能应用于两个 'X' 操作数”这样的错误,当它绝对可以应用于这些类型时,只是一个错误在诊断消息生成器中。您可能在该区域有一些其他类型的错误。在没有任何上下文(我们需要上下文)的情况下,我会确保您记得从编码函数返回一些内容。有时这意味着“我想找到一个 != ,它会在这种情况下返回类似 Float 而不是 Bool 的东西,但我做不到”找不到那个,所以我转而提示 Int。”

但是如果没有 MCVE,就无法进一步调试它。您附近某处有类型错误。

关于swift - 比较两个 Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41388577/

相关文章:

ios - 避免创建多个 ViewController 实例,iOS Swift

ios - 单击 collectionView 单元格时如何打开不同的 View Controller

ios - 试图在同一个表格 View 中创建不同的单元格 - 但无法弄清楚如何在 tableviewcontroller 中编码

ios - 禁用 AVSpeechSyntesizer/AVSpeechUtterance 的自动日期检测

swift - 如何使用 JSON 序列化对象将其转换为 POST 调用

swift - 带参数的 GET 请求

ios - 如何使用该节点的自定义类检测在单独场景中创建的 skspritenode 上的触摸

ios - Swift 中的不可变/可变集合

swift - 协同设计分发应用程序中包含的 swift 框架的正确方法

ios - 如何使用 Swift 4 在 ARKit 中旋转虚拟对象