|  | @@ -14,16 +14,14 @@ var (
 | 
	
		
			
				|  |  |  	InvalidID = errors.New("Invalid ID.")
 | 
	
		
			
				|  |  |  )
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -type UUID struct {
 | 
	
		
			
				|  |  | -	byteValue []byte
 | 
	
		
			
				|  |  | -}
 | 
	
		
			
				|  |  | +type UUID [16]byte
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (this *UUID) String() string {
 | 
	
		
			
				|  |  | -	return bytesToString(this.byteValue)
 | 
	
		
			
				|  |  | +	return bytesToString(this.Bytes())
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (this *UUID) Bytes() []byte {
 | 
	
		
			
				|  |  | -	return this.byteValue
 | 
	
		
			
				|  |  | +	return this[:]
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func (this *UUID) Equals(another *UUID) bool {
 | 
	
	
		
			
				|  | @@ -63,19 +61,18 @@ func bytesToString(bytes []byte) string {
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func New() *UUID {
 | 
	
		
			
				|  |  | -	bytes := make([]byte, 16)
 | 
	
		
			
				|  |  | -	rand.Read(bytes)
 | 
	
		
			
				|  |  | -	uuid, _ := ParseBytes(bytes)
 | 
	
		
			
				|  |  | +	uuid := new(UUID)
 | 
	
		
			
				|  |  | +	rand.Read(uuid.Bytes())
 | 
	
		
			
				|  |  |  	return uuid
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -func ParseBytes(bytes []byte) (*UUID, error) {
 | 
	
		
			
				|  |  | -	if len(bytes) != 16 {
 | 
	
		
			
				|  |  | +func ParseBytes(b []byte) (*UUID, error) {
 | 
	
		
			
				|  |  | +	if len(b) != 16 {
 | 
	
		
			
				|  |  |  		return nil, InvalidID
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | -	return &UUID{
 | 
	
		
			
				|  |  | -		byteValue: bytes,
 | 
	
		
			
				|  |  | -	}, nil
 | 
	
		
			
				|  |  | +	uuid := new(UUID)
 | 
	
		
			
				|  |  | +	copy(uuid[:], b)
 | 
	
		
			
				|  |  | +	return uuid, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func ParseString(str string) (*UUID, error) {
 | 
	
	
		
			
				|  | @@ -84,10 +81,8 @@ func ParseString(str string) (*UUID, error) {
 | 
	
		
			
				|  |  |  		return nil, InvalidID
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	uuid := &UUID{
 | 
	
		
			
				|  |  | -		byteValue: make([]byte, 16),
 | 
	
		
			
				|  |  | -	}
 | 
	
		
			
				|  |  | -	b := uuid.byteValue[:]
 | 
	
		
			
				|  |  | +	uuid := new(UUID)
 | 
	
		
			
				|  |  | +	b := uuid.Bytes()
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	for _, byteGroup := range byteGroups {
 | 
	
		
			
				|  |  |  		if text[0] == '-' {
 |