SCRU128:基于可排序时钟和随机数的唯一标识符

GitHub tag License Swift Compatibility Platform Compatibility

SCRU128 ID 是另一种尝试,旨在取代 UUID,以满足需要去中心化、全局唯一且按时间排序的标识符的用户。SCRU128 的灵感来自 ULIDKSUID,并具有以下特点:

import Scru128

// generate a new identifier object
let x = scru128()
print(x)  // e.g., "036z951mhjikzik2gsl81gr7l"
print(x.byteArray)  // as a 128-bit unsigned integer in big-endian byte array

// generate a textual representation directly
print(scru128String())  // e.g., "036z951mhzx67t63mq9xe6q0j"

有关详细信息,请参阅 SCRU128 规范

添加 swift-scru128 作为包依赖项

要将此库作为依赖项添加到您的 Xcode 项目中,请选择“File”>“Add Packages”,然后输入包 URL:https://github.com/scru128/swift-scru128

要在 SwiftPM 项目中使用此库,请将以下行添加到您的 Package.swift 文件中的依赖项中

.package(url: "https://github.com/scru128/swift-scru128", from: "<version>"),

并且,将 Scru128 作为目标的依赖项包含进来

.target(
  name: "<target>",
  dependencies: [.product(name: "Scru128", package: "swift-scru128")]
)

许可

根据 Apache License, Version 2.0 获得许可。

另请参阅