go - 如何将字节数组传递给接受字节切片的函数?
问题描述
可以说我有一个
Type T [64]byte
我想使用“crypto/rand”包用随机字节填充 T 类型的对象。
T obj
rand.Read(obj)
显然这不起作用所以我该怎么做。我认为顶部的类型声明相当于 C++ 中的 typedef。
解决方案
正如 JimB 所指出的,您正在尝试将 a 传递[64]byte
给采用 a 的函数[]byte
,而这些类型并不等效。您可以在整个数组上传递一个切片,它工作正常:
rand.Read(obj[:])
工作示例: https: //play.golang.org/p/eARFfn4bDzQ
这在Tour of Go中有介绍。
推荐阅读
- sql - 如何在 XML 中将常量添加到我的根目录?
- python - 带有嵌套字典值/参数的 Python POST 请求
- sql - 动态增加数组的大小
- orocommerce - Oro PriceList 业务单位所有权
- vba - 更改 Visio 形状名称以匹配用户输入的形状数据
- c++ - 在 GCC 10.3.0 中找不到 _mm256_rem_epu64 内在函数
- html - 根据 created() 数据打开/关闭多个切换按钮
- javascript - Apexcharts - 在 jsfiddle 中运行 - 但不是我的 PC
- r - 如何填补将相同值与特定因素相关联的空白?R
- reflection - 在运行时修改 swagger 注释