golang で UUID を使う

golang で UUID を使う

サンプルコード

package main

import (
    "fmt"

    "github.com/google/uuid"
)

func main() {
    // uuid.NewRandom() はランダムなバージョン 4 の UUID を返す
    id1, err := uuid.NewRandom()
    if err != nil {
        panic(err)
    }
    fmt.Printf("id1, %s, %s, %s\n", id1.Variant(), id1.Version(), id1)

    // uuid.New() はランダムな UUID を返すか、パニックを起こす
    // uuid.New() は uuid.Must(uuid.NewRandom()) と等価
    id2 := uuid.New()
    fmt.Printf("id2, %s, %s, %s\n", id2.Variant(), id2.Version(), id2)
}

サンプルコード実行結果

id1, RFC4122, VERSION_4, ce33574c-5716-4c02-b833-2651b2a90a84
id2, RFC4122, VERSION_4, 5775e7ad-ee61-48f9-9e35-fd7d890b40f5