UUIDv4 を Go で生成する
セットアップ
go mod init generate-uuidv4-by-golang
go get github.com/google/uuid
実装例
main.go
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
uuidv4, err := uuid.NewRandom()
if err != nil {
fmt.Println(err)
return
}
fmt.Println(uuidv4.String())
}
実行例
% go run main.go
3c85b7b7-0b11-4612-9b1d-1dab37e20c9d
リファレンス
uuid · pkg.go.dev
https://pkg.go.dev/github.com/google/uuid#NewRandom
google/uuid: Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services.
https://github.com/google/uuid
RFC 4122 - A Universally Unique IDentifier (UUID) URN Namespace
https://tools.ietf.org/html/rfc4122
RFC 4122 - A Universally Unique IDentifier (UUID) URN Namespace 日本語訳
https://tex2e.github.io/rfc-translater/html/rfc4122.html
この記事を試した環境
% sw_vers
ProductName: Mac OS X
ProductVersion: 10.15.7
BuildVersion: 19H114
% go version
go version go1.15.6 darwin/amd64
go.mod
module golang-uuid
go 1.15
require github.com/google/uuid v1.1.5 // indirect
go.sum
github.com/google/uuid v1.1.5 h1:kxhtnfFVi+rYdOALN0B3k9UT86zVJKfBimRaciULW4I=
github.com/google/uuid v1.1.5/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=