code: func (u *UUID) decodeCanonical(t []byte) (err error) {
  	if t[8] != '-' || t[13] != '-' || t[18] != '-' || t[23] != '-' {
  		return fmt.Errorf("uuid: incorrect UUID format %s", t)
  	}
  
  	src := t[:]
  	dst := u[:]
  
  	for i, byteGroup := range byteGroups {
  		if i > 0 {
  			src = src[1:] // skip dash
  		}
  		_, err = hex.Decode(dst[:byteGroup/2], src[:byteGroup])
  		if err != nil {
  			return
  		}
  		src = src[byteGroup:]
  		dst = dst[byteGroup/2:]
  	}
  
  	return
  }
docs: // decodeCanonical decodes UUID string in format
  // "6ba7b810-9dad-11d1-80b4-00c04fd430c8".