범용 고유 식별자 - 위키백과, 우리 모두의 백과사전

UUID는 분산 컴퓨팅 환경에서 중앙 통제 없이 개별적으로 고유의 id를 생성하기 위해 사용되는 식별자 입니다.

550d6400-e2zb-8g47-a716-446658772266

UUID 버전은 1, 3, 4, 5가 있습니다. 타임스탬프을 사용하는 버전1, 랜덤값을 사용하는 버전4를 주로 사용합니다. 버전 3, 5는 각각 md5, sha-1 해쉬를 사용합니다.

google/uuid
Go package for UUIDs based on RFC 4122 and DCE 1.1: Authentication and Security Services. - google/uuid

사용할 UUID 라이브러리 입니다.

go get github.com/google/uuid

라이브러리를 다운받고, mod파일을 확인합니다.

버전4 UUID 만들기

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

uuid 라이브러리를 임포트 합니다.

다음 함수로 uuid를 만듭니다.

uuid.NewString()	// uuid string

// or

u, err := uuid.NewRandom()	// v4 uuid
if err != nil {
	panic(err)
}
u.String()	// uuid string

ex)

func TestUUID(t * testing.T) {
	t.Log(uuid.NewString())
}
=== RUN   TestUUID
    /home/dev/project/xlog/xuth/lib/xjwt/tokk_test.go:64: 78142f09-69eb-4f77-ab6a-019332f6da99
--- PASS: TestUUID (0.00s)
PASS

버전1 UUID 만들기

u, err := uuid.NewUUID()	//v1 uuid
if err != nil {
	panic(err)
}
u.String()	// uuid string