3

2つのタイプを定義しました

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ますか?

4

1 に答える 1

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])
    }
}
于 2013-03-27T01:12:03.133 に答える