func (u UUID) String() string {
	if len(u) != 16 {
		return ""
	}
	var buf [36]byte
	u.encodeHex(buf[:])
	return string(buf[:])
}
String returns the 36 byte hexstring representation of this uuid
return empty string if this uuid is nil
package primitives
import (
	"database/sql/driver"
	"encoding/hex"
	guuid "github.com/google/uuid"
	"github.com/pborman/uuid"
)
type UUID []byte
func MustParseUUID(s string) UUID {
	if s == "" {
		return nil
	}
	u := guuid.MustParse(s)
	return u[:]
}
func ParseUUID(s string) (UUID, error) {
	if s == "" {
		return nil, nil
	}
	u, err := guuid.Parse(s)
	if err != nil {
		return nil, err
	}
	return u[:], nil
}
func MustValidateUUID(s string) string {
	MustParseUUID(s)
	return s
}
func ValidateUUID(s string) (string, error) {
	if s == "" {
		return "", nil
	}
	_, err := guuid.Parse(s)
	if err != nil {
		return "", err
	}
	return s, nil
}
func NewUUID() UUID {
	return UUID(uuid.NewRandom())
}
func (u UUID) Downcast() []byte {
	return u
}
func UUIDPtr(u UUID) *UUID {
	return &u
}