Source File
version6.go
Belonging Package
github.com/google/uuid
// Copyright 2023 Google Inc. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.package uuidimport// UUID version 6 is a field-compatible version of UUIDv1, reordered for improved DB locality.// It is expected that UUIDv6 will primarily be used in contexts where there are existing v1 UUIDs.// Systems that do not involve legacy UUIDv1 SHOULD consider using UUIDv7 instead.//// see https://datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format-03#uuidv6//// NewV6 returns a Version 6 UUID based on the current NodeID and clock// sequence, and the current time. If the NodeID has not been set by SetNodeID// or SetNodeInterface then it will be set automatically. If the NodeID cannot// be set NewV6 set NodeID is random bits automatically . If clock sequence has not been set by// SetClockSequence then it will be set automatically. If GetTime fails to// return the current NewV6 returns Nil and an error.func () (UUID, error) {var UUID, , := GetTime()if != nil {return ,}/*0 1 2 30 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| time_high |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| time_mid | time_low_and_version |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+|clk_seq_hi_res | clk_seq_low | node (0-1) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| node (2-5) |+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+*/binary.BigEndian.PutUint64([0:], uint64())binary.BigEndian.PutUint16([8:], )[6] = 0x60 | ([6] & 0x0F)[8] = 0x80 | ([8] & 0x3F)nodeMu.Lock()if nodeID == zeroID {setNodeInterface("")}copy([10:], nodeID[:])nodeMu.Unlock()return , nil}
![]() |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |