Go 语言生成随机数的几种方式

Skiy 25天前 12

生成随机长度的字符串:

func GetRandomString(l int) string {
	str := "0123456789abcdefghijklmnopqrstuvwxyz"
	bytes := []byte(str)
	result := []byte{}
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i := 0; i < l; i++ {
		result = append(result, bytes[r.Intn(len(bytes))])
	}
	return string(result)
}


最新回复 (1)
  • Skiy 25天前
    引用 2
    /*RandomString 生成指定长度随机字符串*/
    
    func RandomString(t string, l int) string {    
        pool := "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        
        switch t {
        case "alpha":        
        pool = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        
        case "alnum":        
        pool = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
        
        case "numeric":        
        pool = "0123456789"
        
        case "nozero":        
        pool = "123456789"
        
        case "hex":        
        pool = "0123456789abcdefABCDEF"    
        }
        
        bytes := []byte(pool)    
        result := []byte{}
        
        r := rand.New(rand.NewSource(time.Now().UnixNano()))    
        for i := 0; i < l; i++ {        
            result = append(result, bytes[r.Intn(len(bytes))])   
        }
        
        return string(result)}


返回
发新帖