问答详情
源自:4-2 文件头的二进制读取操作

为什么我试了下不行

奇怪,我写了一个例子为什么不能读结构体呢 

package main

import (
    "bytes"
    "encoding/binary"
    "fmt"
)

type test struct {
    a uint8
    b byte
    c [4]byte
}

func main() {
    d := new(test)

    str := []byte{1, 2, 3, 4, 5, 6}

    buf := bytes.NewBuffer(str)

    err := binary.Read(buf, binary.LittleEndian, &d)

    if err != nil {
        fmt.Println(err.Error())
    }

    fmt.Println(d.a, d.b, d.c)
}


编译输出如下:

binary.Read: invalid type **main.test

0 0 [0 0 0 0]


提问者:海洋4268012 2016-10-25 22:14

个回答