Ir idioma: uso básico del módulo de UUID de Google, Google

UUID es generar los módulos de 16 bytes UUID desarrollados por Google, implementos RFC4122 ; V1 de un UUID, v2, v3, v4, v5, etc. Cada versión logra. En general, aunque sólo sea para generar un número de serie único, entonces por lo general la versión V4, Nueva () y NewRandom () puede generar v4, Nueva encapsulación de NewRandom se pone en el procesamiento de errores pánico, pero no lo hace casi teóricamente puede ocurrir pánicos de.

func Nueva () UUID
func NewRandom () ( UUID , error )

Ejemplos son los siguientes:

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())
	}
}

salida:

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

Said Nuevo método puede ser el pánico, pero el código fuente para ver esencialmente ningún posible error en los documentos oficiales. Dependerá de error "cripto / rand" El lector puede leer al menos a 16 bytes aleatorios, mientras Reader es un sistema operativo de Linux getRandom (2) para leer si no es de  / dev / urandom leer, getrandom (2) de dichos documentos dentro de 256 bytes no pueda ser interrumpido por señales, y / dev / urandom documento no dijo que puede haber un error de. Así que en teoría no hay error posible.

 

Uuid utilizar otras versiones, véase:

"Ir idioma: módulo de Google Google UUID para varias versiones de UUID realización (versión 1, versión 2, versión 3, 4 verison, la versión 5)"

Publicado 51 artículos originales · ganado elogios 3 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/pengpengzhou/article/details/105269061
Recomendado
Clasificación