35 lines
		
	
	
		
			591 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			591 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package packet
 | 
						|
 | 
						|
import (
 | 
						|
	"math/rand"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
const letterBytes = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ$%!@%&*()-=+[]{}:;.,1234567890"
 | 
						|
 | 
						|
func randStringBytes(n int) string {
 | 
						|
	b := make([]byte, n)
 | 
						|
	for i := range b {
 | 
						|
		b[i] = letterBytes[rand.Intn(len(letterBytes))]
 | 
						|
	}
 | 
						|
	return string(b)
 | 
						|
}
 | 
						|
 | 
						|
type PackageID struct {
 | 
						|
	ID string
 | 
						|
}
 | 
						|
 | 
						|
func (id PackageID) Name() string {
 | 
						|
	return strings.SplitAfter(id.ID, "@")[0]
 | 
						|
}
 | 
						|
 | 
						|
func (id PackageID) Version() string {
 | 
						|
	return strings.SplitAfter(id.ID, "@")[1]
 | 
						|
}
 | 
						|
 | 
						|
func NewId(id string) PackageID {
 | 
						|
	var ID PackageID
 | 
						|
	ID.ID = id
 | 
						|
	return ID
 | 
						|
}
 |