UUIDは 16バイトのUUIDモジュールグーグル、器具の開発によって生成することであるRFC4122を、等UUIDのV1、V2、V3、V4、V5、各バージョンが実現しました。一般的には、()、固有のシリアルナンバー、そして通常v4のバージョンを生成する場合にのみ、新しい()とNewRandomはV4を生成することができ、NewRandomの新しいカプセル化がパニックエラー処理に入れますが、ほとんど理論的にはありませんさこれは、パニックのを発生することがあります。
FUNC 新()UUID
FUNC NewRandom()(UUID、エラー)
例としては、次のとおりです:
package main
import (
"fmt"
"github.com/google/uuid"
)
func main() {
for i := 0; i < 10; i++ {
id := uuid.New()
fmt.Printf("%s %s\n", id, id.Version().String())
}
for i := 0; i < 10; i++ {
id2,err := uuid.NewRandom()
if err != nil{
fmt.Printf("%v\n", err)
}
fmt.Printf("%s %s\n", id2, id2.Version().String())
}
}
出力:
adba0f28-8489-4d99-a5c8-a12eb6c960c9 VERSION_4
0b92bb34-34b2-4f21-9bf8-70ac181b39b5 VERSION_4
177b9491-2ad2-4396-8fd3-f7440404f46f VERSION_4
c098c60b-4f98-4fe3-9fc3-7cec9a7c0717 VERSION_4
0b58b54c-a941-47c9-a889-5871e65b223d VERSION_4
96203b6d-b084-483b-af92-e5b2443cc29f VERSION_4
e5b32605-e017-4a22-9acb-5841ad28ebdd VERSION_4
15f9680e-432e-4faa-b631-53b6f7e70e9a VERSION_4
40f82f91-ef81-4303-a59c-58651f972795 VERSION_4
221e71ec-e9d1-4632-a3f6-0275b3a288ae VERSION_4
c1d4908a-9b9c-44fd-90f0-7e232f0e5ff1 VERSION_4
6027e676-b46a-4281-a1e0-b3bf6291998a VERSION_4
da589a0e-e172-4dac-bc4c-fc50c9624a6e VERSION_4
9c1fe414-3bec-4b7a-9187-b80ee97a1e67 VERSION_4
93fc7459-31c2-4dcb-be9a-e3c80d82453d VERSION_4
5339d058-7241-4f74-a6e3-27ad5d32ba74 VERSION_4
ed4efa2b-2954-4f46-bb0c-b65250494bde VERSION_4
a98c5172-a302-4ef2-967e-1029604ffd1f VERSION_4
b316af48-0c67-48bc-bba1-59c8d18f7685 VERSION_4
e4e39e07-3e15-4117-b572-73d553548249 VERSION_4
サイード新しい方法がパニックかもしれませんが、ソースコードは、基本的に公式文書で可能なエラーを見ないように。読者は、Linuxからのオペレーティングシステムである中にエラー「暗号化/ランドは、」Readerが、16個のランダムなバイトに少なくとも読み込むことができます依存しますgetRandom(2)でない場合は読み込むため の/ dev / urandomのは読みが、getrandom(2)の256バイト内の文書がシグナルによって中断されることはありません、と言ったの/ dev / urandomの文書は誤差があるかもしれません言いませんでした。だから、理論的にはエラーがない可能性があります。
他のバージョンを使用してUUID、以下を参照してください。
"ゴー言語:実現UUIDのさまざまなバージョンのためのGoogleのGoogleのUUIDモジュール(バージョン1、バージョン2、バージョン3、4 verison、バージョン5)"