func BytesToString(b []byte) (s string) {
    _bptr := (*reflect.SliceHeader)(unsafe.Pointer(&b))
    _sptr := (*reflect.StringHeader)(unsafe.Pointer(&s))
    _sptr.Data = _bptr.Data
    _sptr.Len = _bptr.Len
    return s
}

// 随机生成字符串
func RandomString(l int) string {
    str := "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"
    bytes := []byte(str)
    var result []byte = make([]byte, 0, l)
    r := rand.New(rand.NewSource(time.Now().UnixNano()))
    for i := 0; i < l; i++ {
        result = append(result, bytes[r.Intn(len(bytes))])
    }
    return BytesToString(result)
}

func main() {
    fmt.Println(RandomString(64))
}