如何将字节数组传递给接受字节片的函数?

时间:2020-07-21 17:32:03

标签: go types arguments

让我说我有一个

Type T [64]byte

我想使用“ crypto / rand”包用随机字节填充类型T的对象。

T obj
rand.Read(obj)

显然这是行不通的,所以我该怎么办。我认为顶部的类型声明与C ++中的typedef等效。

1 个答案:

答案 0 :(得分:1)

如JimB所述,您正在尝试将[64]byte传递给采用[]byte的函数,并且这些类型并不等效。您可以在整个数组上传递一个切片,它可以正常工作:

rand.Read(obj[:])

工作示例:https://play.golang.org/p/eARFfn4bDzQ

Tour of Go对此进行了介绍。

相关问题