也是struct转byte的问题

type EvLogin struct {
    TimeStamp    []byte
    SerialNumber uint16
    Iccid        string
    BatterCnt    byte
    BatteryLen   byte
    BatterNum    string
}

type EvMsg struct {
    Headflag   string
    Msg_type   byte
    Res_flag   byte
    Vin        string
    Encryption byte
    Len        uint16
    Pk         []byte
    Check_code byte
}

    conn, err := net.Dial("tcp", Addr)
    if err != nil {
        fmt.Println("tcp connect error:", err)
        return
    }
    defer conn.Close()

    pk := EvMsg{}
    pk.Headflag = "##"

    pk.Msg_type = 0x01
    pk.Res_flag = 0xFE
    pk.Vin = "12345678901234567"
    pk.Encryption = 0x01
    login := EvLogin{}
    login.TimeStamp = []byte("170106085901")
    login.SerialNumber = 1
    login.Iccid = "kkkk"

想通过结构体赋值,然后fmt.Fprintf将消息发送出去,但是结构体不能直接转byte,请问应该怎么作阿,上网上查了好久也没搞懂~~

已邀请:

toukii

赞同来自:

参考encoding/下的包,比如json

tupunco

赞同来自:

fmt.Fprintf("%+v", pk) ...:)

wulinlw

赞同来自:

github.com/lunixbochs/struc 这个包做比较方便,专门解决这个问题

philc - https://github.com/philchia

赞同来自:

对面也是go的话,可以直接用gob 或者protobuffer也可以

要回复问题请先登录注册