Go로 UUID 생성
UUID(Universally Unique Identifiers)는 고도의 임의성이 필수적인 애플리케이션에서 사용자 식별에 널리 사용됩니다. UUID는 충돌 가능성을 줄이고 시스템 전체에서 보편적으로 구별되기 때문에 수백만 명의 사용자에게 서비스를 제공하는 앱에 적합한 선택입니다.
Go는 UUID 생성을 위한 패키지를 제공하지 않습니다. 대부분의 Unix 관련 운영 체제에는 uuidgen 프로그램이 포함되어 있으므로 os 패키지를 사용하여 생성할 수 있습니다. Google의 uuid 또는 gouuid 패키지와 같은 외부 Go 패키지를 사용할 수도 있습니다.
os 패키지로 UUID 생성
Go os 패키지는 Unix와 유사한 방식으로 호스트 시스템의 운영 체제와 상호 작용하는 기능을 제공합니다. os 패키지의 exec 하위 패키지로 명령을 실행 하고 Go 프로그램의 출력을 검색할 수 있습니다.
Go 파일에서 이러한 기본 제공 패키지를 가져와 os 패키지로 UUID를 생성합니다.
import (\n "fmt"\n "log"\n "os/exec"\n)\n
log 패키지를 사용하여 가능한 오류를 기록하고 fmt string-formatting 패키지를 사용하여 생성된 UUID를 출력합니다.
exec 패키지 의 Command 메서드를 사용하여 명령 을 실행할 수 있습니다 . Output 메서드는 명령의 출력을 반환합니다 .
func osExec() {\n generateUUID, err: = exec.Command("uuidgen").Output()\n \n if err! = nil {\n log.Fatal(err)\n }\n \n fmt.Println(generateUUID)\n}\n
osExec 함수 는 uuidgen 명령 을 사용하여 UUID를 생성하고 인쇄합니다 .
Google의 UUID 패키지로 UUID 생성
Google uuid 패키지는 RFC 4122 및 DCE 1.1 인증 및 보안 서비스를 기반으로 UUID를 생성하고 검사 합니다.
프로젝트 디렉토리에서 이 터미널 명령을 실행하여 uuid 패키지를 프로젝트의 종속성 중 하나로 설치하십시오.
go get github.com/google/uuid\n
uuid 패키지를 가져와 UUID를 생성하고 fmt 패키지 를 가져와 UUID를 콘솔에 출력합니다.
import (\n "fmt"\n "github.com/google/uuid"\n)\n
uuid 패키지의 New 메소드를 사용하여 UUID를 생성할 수 있습니다. New 메서드는 임의 의 UUID를 반환하며 해당 String 메서드를 사용하여 해당 문자열 표현을 얻을 수 있습니다.
func googleUUID() {\n uuidValue: = uuid.New()\n fmt.Println(uuidValue.String())\n}\n
googleUUID 함수는 New 메서드를 사용 하여 임의 UUID의 문자열 형식을 인쇄합니다.
GoUUID 패키지로 UUID 생성
gouuid 패키지 는 NewV3, NewV4 및 NewV5 UUID를 생성하고 RFC 4122에 지정된 대로 UUID를 구문 분석하기 위한 변경 불가능한 UUID 구조체 및 기능을 제공합니다.
프로젝트의 종속성에 gouuid 패키지를 설치하려면 작업 디렉토리의 터미널에서 이 명령을 실행하세요 .
go get github.com/nu7hatch/gouuid\n
UUID를 생성 하려면 별명 uuid (기존)를 사용 하여 fmt 및 gouuid 패키지를 가져오십시오 .
import (\n "fmt"\n uuid "github.com/nu7hatch/gouuid"\n)\n
UUID 또는 오류를 반환하는 NewV4 메서드를 사용하여 버전 4 UUID를 생성할 수 있습니다 .
func generateV4(){\n v4UUID, err: = uuid.NewV4()\n \n if err! = nil {\n fmt.Println(err)\n }\n \n fmt.Println(v4UUID)\n}\n
generateV4 메소드 는 gouuid 패키지 의 NewV4 메소드 에서 생성된 UUID를 인쇄합니다 .
마찬가지로 NewV5 메서드를 사용하여 버전 5 UUID를 생성할 수 있습니다. NewV5 메서드 는 UUID 네임스페이스 URL과 바이트 슬라이스를 받아 생성된 버전 5 UUID를 반환합니다.
func generateV5(){\n v5UUID, err: = uuid.NewV5(uuid.NamespaceURL, []byte("go.dev"))\n \n if err! = nil {\n fmt.Println(err)\n }\n \n fmt.Println(v5UUID)\n}\n
generateV5 함수 는 생성 오류가 없는 경우 NewV5 메서드 로 UUID 생성 후 생성된 버전 5 UUID를 출력 합니다.
대부분의 프로그래밍 언어로 UUID를 생성할 수 있습니다.
UUID는 많은 사용 사례에 유용하므로 일상적인 애플리케이션에서 널리 사용됩니다. 대부분의 프로그래밍 언어는 표준 라이브러리 또는 생태계 패키지에서 UUID를 생성하는 기능을 제공합니다.
답글 남기기