UUIDs

UUIDs.uuid1函数
uuid1([rng::AbstractRNG]) -> UUID

根据 RFC 4122 生成版本 1(基于时间)的通用唯一标识符 (UUID)。请注意,节点 ID 是根据 RFC 的第 4.5 节随机生成的(不识别主机)。

uuid1 使用的默认 rng 不是 GLOBAL_RNG,并且每次调用没有参数的 uuid1() 都应该期望返回一个唯一的标识符。重要的是,即使调用了 Random.seed!(seed)uuid1 的输出也不会重复。目前(截至 Julia 1.6),uuid1 使用 Random.RandomDevice 作为默认 rng。但是,这是一个实现细节,将来可能会更改。

Julia 1.6

从 Julia 1.6 开始,uuid1 的输出不依赖于 GLOBAL_RNG

示例

julia> rng = MersenneTwister(1234);

julia> uuid1(rng)
UUID("cfc395e8-590f-11e8-1f13-43a2532b2fa8")
UUIDs.uuid4函数
uuid4([rng::AbstractRNG]) -> UUID

根据 RFC 4122 生成版本 4(随机或伪随机)的通用唯一标识符 (UUID)。

uuid4 使用的默认 rng 不是 GLOBAL_RNG,并且每次调用没有参数的 uuid4() 都应该期望返回一个唯一的标识符。重要的是,即使调用了 Random.seed!(seed)uuid4 的输出也不会重复。目前(截至 Julia 1.6),uuid4 使用 Random.RandomDevice 作为默认 rng。但是,这是一个实现细节,将来可能会更改。

Julia 1.6

从 Julia 1.6 开始,uuid4 的输出不依赖于 GLOBAL_RNG

示例

julia> rng = MersenneTwister(1234);

julia> uuid4(rng)
UUID("7a052949-c101-4ca3-9a7e-43a2532b2fa8")
UUIDs.uuid5函数
uuid5(ns::UUID, name::String) -> UUID

根据 RFC 4122 生成版本 5(基于命名空间和域)的通用唯一标识符 (UUID)。

Julia 1.1

此函数需要至少 Julia 1.1。

示例

julia> rng = MersenneTwister(1234);

julia> u4 = uuid4(rng)
UUID("7a052949-c101-4ca3-9a7e-43a2532b2fa8")

julia> u5 = uuid5(u4, "julia")
UUID("086cc5bb-2461-57d8-8068-0aed7f5b5cd1")
UUIDs.uuid_version函数
uuid_version(u::UUID) -> Int

检查给定的 UUID 并返回其版本(请参阅 RFC 4122)。

示例

julia> uuid_version(uuid4())
4