一尘不染

在Go中生成一个随机的,固定长度的字节数组

go

我有一个字节数组,固定长度为4。

token := make([]byte, 4)

我需要将每个字节设置为随机字节。如何以最有效的方式这样做?math/rand就我而言,这些方法没有提供随机字节功能。

也许有一种内置的方式,还是我应该生成一个随机字符串并将其转换为字节数组?


阅读 932

收藏
2020-07-02

共1个答案

一尘不染

包兰特

import "math/rand"

func Read

func Read(p []byte) (n int, err error)

读取从默认源生成len(p)个随机字节,并将它们写入p。它总是返回len(p)和nil错误。

f unc(* Rand)读

func (r *Rand) Read(p []byte) (n int, err error)

读取生成len(p)个随机字节并将其写入p。它总是返回len(p)和nil错误。

例如,

package main

import (
    "math/rand"
    "fmt"
)

func main() {
    token := make([]byte, 4)
    rand.Read(token)
    fmt.Println(token)
}

输出:

[187 163 35 30]
2020-07-02