如何在 SWIFT 中确定 GUID 是奇数还是偶数?

问题描述

我有一个用户列表,它们都有一个 GUID 标识符。 我想将用户随机分成两个池以执行 A/B 测试。 如果我可以对标识符进行奇数/偶数运算,我就可以做到这一点。

如何在 SWIFT 中对 String 属性中的 GUID 进行奇数/偶数检查?

是否在散列上完成了模数 2,我该怎么做?

解决方法

Mod 2 仅适用于数字,所以是的,通过对 UUID/GUID 进行散列,然后应用 mod 函数就足够了:

let uuid = UUID().uuidString
let hashValue = uuid.hash

if hashValue.quotientAndRemainder(dividingBy: 2).remainder == 0 {
    print("even")
} else {
    print("odd")
}

.hashString bt 默认可用,因此您可以直接使用它


附注:
hashValue.quotientAndRemainder(dividingBy: 2).remainder

hashValue % 2

让你的船漂浮的东西