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

token := make([]byte, 4)

我需要将每个字节设置为随机字节.我怎样才能做到这一点,在最有效率的事情上?就我而言,这math/rand个方法不提供随机字节函数.

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

推荐答案

Package rand

import "math/rand" 

func Read

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

Read从默认源生成len(p)个随机字节并写入

func (*Rand) Read

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

Read生成len(P)个随机字节并将它们写入p.它总是 返回len(P)和零错误.

例如,

package main

import (
    "math/rand"
    "fmt"
)

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

输出:

[187 163 35 30]

Go相关问答推荐

语法-for循环中的initit陈述是否允许分配?

如何模拟嵌入. FS?

你能把用户界面文件中的GTK4应用程序窗口添加到GTK4应用程序中吗?

如何将GoFr筛选器用于查询参数?

如何在围棋中从多部分.Part中获取多部分.文件而不保存到磁盘?

提供的client_secret与此帐户上任何关联的SetupIntent都不匹配

在多个 struct 体中重用 Go 中的函数

转到 bufio.Writer、gzip.Writer 并上传到内存中的 AWS S3

为什么我只收到部分错误而不是我启动的 goroutines 的所有错误?

helm :将 YAML 转换为 JSON 时出错:yaml:第 xx 行:未找到预期的密钥

go - 仅在函数即将返回错误时清理资源

有没有办法约束(通用)类型参数?

无法使用 gocsv 读取引用字段

使用 ssh 从私有 gilab 仓库导入一个 go 项目:未知修订

如何过滤来自 fsnotify 的重复系统消息

从 os.stdout 读取

使用无服务器工作流 go sdk 时出现间歇性 JSON 解组错误

Golang ACMEv2 HTTP-01 挑战不挑战服务器

具有近似约束的函数值导致的实例化失败

HTTP 重定向不呈现新页面