我正在尝试将固定大小的数组[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
我应该如何转换它?
答案 0 :(得分:18)
使用b := a[:]
获取您拥有的数组。有关数组和切片的详细信息,另请参阅this博客文章。
答案 1 :(得分:12)
Go中没有可变大小的数组,只有切片。如果你想获得整个数组的一部分,请执行以下操作:
b := a[:] // Same as b := a[0:len(a)]