亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

golang將字節數組轉換為結構

golang將字節數組轉換為結構

Go
呼啦一陣風 2021-10-25 14:34:35
我正在尋找一種干凈的方法來將字節數組轉換為客戶端 - 服務器應用程序的結構。我知道大多數人都為此解決方案轉向 gob 包,但是我不控制應用程序的編碼。話雖如此,我只編寫了服務器應用程序而不是客戶端,正在交換的協議有一個相互合同。我能得出的最好結果如下。type T struct {    A int16    B int8    C []byte}func main() {    // Create a struct and write it.    t := T{A: 99, B: 10}    buf := &bytes.Buffer{}    buf1 := []byte{5, 100, 100}    fmt.Println(buf1)    buf.Write(buf1)    //err := binary.Write(buf, binary.BigEndian, t)    //if err != nil {    //  panic(err)    //}    fmt.Println(buf)    // Read into an empty struct.    t = T{}    err := binary.Read(buf, binary.BigEndian, &t)    if err != nil {        panic(err)    }    fmt.Printf("%d %d", t.A, t.B)}然而,一旦 number bytes 與結構體的大小不一致,go 就會發送一個 panic。如果尺寸過小或過大,我如何修改它以使其工作而不會出現恐慌
查看完整描述

2 回答

  • 2 回答
  • 0 關注
  • 720 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號