Go で UUID を生成する

Go で UUID を生成する

Universally Unique Identifier (UUID) は、高度なランダム性が不可欠なアプリケーションでのユーザー識別によく使用されます。UUID は、衝突の可能性を減らし、システム間で普遍的に区別されるため、何百万ものユーザーにサービスを提供するアプリに適しています。

Go は UUID を生成するためのパッケージを提供していません。ほとんどの Unix 関連のオペレーティング システムにはuuidgenプログラムが含まれているため、osパッケージを使用してそれらを生成できます。Google のuuidgouuidパッケージなどの外部 Go パッケージを使用することもできます。

os パッケージで UUID を生成する

os パッケージの概要

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 プレビュー

Google uuidパッケージは、 RFC 4122と DCE 1.1 認証およびセキュリティ サービスに基づいて UUID を生成および検査します。

プロジェクトのディレクトリでこの端末コマンドを実行して、uuidパッケージをプロジェクトの依存関係の 1 つとしてインストールします。

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 プレビュー

gouuid パッケージは、RFC 4122 で指定されているように、NewV3、NewV4、および NewV5 UUID を生成し、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 を生成する機能を提供します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です