UUID

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

產生版本 1 (基於時間) 的通用唯一識別碼 (UUID),如 RFC 4122 所指定。請注意,根據 RFC 的第 4.5 節,節點 ID 是隨機產生的 (不會識別主機)。

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

產生版本 4(隨機或偽隨機)的通用唯一識別碼 (UUID),如 RFC 4122 所指定。

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

產生版本 5(基於名稱空間和網域)的通用唯一識別碼 (UUID),如 RFC 4122 所指定。

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