查看hashable协议,并使矩阵位置结构符合:
struct MatrixLocation: Hashable {
let row: Int
let col: Int
var hashValue: Int { return row.hashValue ^ col.hashValue }
}
哈希值包含^
运算符。
Swift中的^
运算符是什么?
答案 0 :(得分:2)
^
是Swift中的XOR运算符。基本上它比较两个操作数的位,并且对于每个位,如果两个输入位中的一个是1
,则它将结果的相应位设置为1
,而另一个是{{1} }}。如果两个位均为0
或两个位均为1
,则会将结果中的位设置为0
。
因此,如果你有0
,那将是01001001 XOR 00010011,它将出现在01011010或0x49 ^ 0x13
。