golang 在Golang中生成给定长度的随机字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了golang 在Golang中生成给定长度的随机字符串相关的知识,希望对你有一定的参考价值。

package main

import (
	"fmt"
	"math/rand"
	"time"
)

func randString(length int) string {
	const charset = "abcdefghijklmnopqrstuvwxyz" +
		"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
	rs := rand.New(
		rand.NewSource(time.Now().UnixNano()))
	b := make([]byte, length)
	for i := range b {
		b[i] = charset[rs.Intn(len(charset))]
	}
	return string(b)
}

func main() {
	fmt.Printf("%s\n", randString(32))
}

golang中生成随机数

rand
func New(src Source) *Rand 
	s64, _ := src.(Source64)
	return &Randsrc: src, s64: s64


func NewSource(seed int64) Source 
	var rng rngSource
	rng.Seed(seed)
	return &rng

通过上述两个接口,生成一个Rand对象,然后通过他来生成随机数:

random := rand.New(rand.NewSource(time.Now().UnixNano()))
	for i:=0;i<30;i++ 
		fmt.Printf("%d " ,random.Intn(9))
	
func (r *Rand) Intn(n int)
func (r *Rand) Float32() float32

以上是关于golang 在Golang中生成给定长度的随机字符串的主要内容,如果未能解决你的问题,请参考以下文章