我已经定义了两种类型
type zFrame []byte
type zMsg []zFrame
我有变量
var message [][]byte
。 Go编译器告诉我
cannot use msg (type [][]byte) as type zMsg in function argument
当我尝试编译时
myZMsg := zMsg(message)
。改为
type zMsg [][]byte
让事情编译,但我更喜欢第一个解决方案。对于那种情况,我有一种简单的方法可以从[][]byte
转换为zMsg
吗?
答案 0 :(得分:4)
您必须自己进行转换。例如,
package main
type zFrame []byte
type zMsg []zFrame
func main() {
var message [][]byte
myZMsg := make(zMsg, len(message))
for i := range message {
myZMsg[i] = zFrame(message[i])
}
}