// UUID4 returns a new UUID4
UUID4 returns a new UUID4
// UUID4 returns a new UUID4
func UUID4() (string, error) {
	b := make([]byte, 16)
	_, err := rand.Read(b)
	if err != nil {
		return "", err
	}
	b[6] = (b[6] & 0x0f) | 0x40
	b[8] = (b[8] & 0x3f) | 0x80
	return fmt.Sprintf("%x-%x-%x-%x-%x", b[0:4], b[4:6], b[6:8], b[8:10], b[10:]), nil
}
func UUID4 ( ) ( string , error ) { b := make ( [ ] byte , 16 ) _ , err := rand . Read ( b ) if err != nil { return " " , err } b [ 6 ] = ( b [ 6 ] & 0x0f ) | 0x40 b [ 8 ] = ( b [ 8 ] & 0x3f ) | 0x80 return fmt . Sprintf ( " " , b [ 0 : 4 ] , b [ 4 : 6 ] , b [ 6 : 8 ] , b [ 8 : 10 ] , b [ 10 : ] ) , nil }
UUID4 returns a new UUID4
UUID4 returns a new UUID4