gpt4 book ai didi

go - 有没有用 Go 语言生成 UUID 的方法?

转载 作者:IT老高 更新时间:2023-10-28 12:57:23 26 4
gpt4 key购买 nike

我的代码如下所示:

u := make([]byte, 16)
_, err := rand.Read(u)
if err != nil {
return
}

u[8] = (u[8] | 0x80) & 0xBF // what does this do?
u[6] = (u[6] | 0x40) & 0x4F // what does this do?

return hex.EncodeToString(u)

它返回一个长度为 32 的字符串,但我认为它不是有效的 UUID。如果是真正的UUID,为什么是UUID,修改u[8]u[6]的值的代码的目的是什么?

有没有更好的方法来生成 UUID?

最佳答案

Google 有一个官方实现:https://github.com/google/uuid

生成版本 4 UUID 的工作方式如下:

package main

import (
"fmt"
"github.com/google/uuid"
)

func main() {
id := uuid.New()
fmt.Println(id.String())
}

在这里试试:https://play.golang.org/p/6YPi1djUMj9

关于go - 有没有用 Go 语言生成 UUID 的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15130321/

26 4 0