github.com/EngineerKamesh/gofullstack@v0.0.0-20180609171605-d41341d7d4ee/volume3/section5/gopherface/common/utility/uuid.go (about)

     1  package utility
     2  
     3  import (
     4  	"fmt"
     5  	"log"
     6  	"os"
     7  )
     8  
     9  func GenerateUUID() string {
    10  	f, err := os.Open("/dev/urandom")
    11  	if err != nil {
    12  		log.Println("Encountered the following error when attempting to generate an UUID: ", err)
    13  		return ""
    14  	}
    15  	b := make([]byte, 16)
    16  	f.Read(b)
    17  	f.Close()
    18  	uuid := fmt.Sprintf("%x-%x-%x-%x-%x", b[0:4], b[4:6], b[6:8], b[8:10], b[10:])
    19  	return uuid
    20  }