猿问

在 Go 中将固定大小的数组转换为可变大小的数组

我正在尝试将固定大小的数组转换[32]byte为可变大小的数组(切片)[]byte:


package main


import (

        "fmt"

)


func main() {

        var a [32]byte

        b := []byte(a)

        fmt.Println(" %x", b)

}

但编译器抛出错误:


./test.go:9: cannot convert a (type [32]byte) to type []byte

我应该如何转换它?


慕斯709654
浏览 152回答 2
2回答

跃然一笑

用于b := a[:]在您拥有的数组上获取切片。

慕尼黑的夜晚无繁华

Go 中没有可变大小的数组,只有切片。如果要获取整个数组的一部分,请执行以下操作:b := a[:] // Same as b := a[0:len(a)]
随时随地看视频慕课网APP

相关分类

Go
我要回答