d := make([]byte, 4096)conn.Read(d)我創(chuàng)建了一個(gè)固定數(shù)組來(lái)從套接字獲取數(shù)據(jù)。但我想以靈活的大小而不是固定的大小獲取數(shù)據(jù)。原因是我需要解組從套接字接收到的數(shù)據(jù),但是數(shù)據(jù)的大小是固定的,所以調(diào)用解組函數(shù)將不起作用。所以我想問(wèn)的是如何從socket中獲取靈活大小的數(shù)據(jù)或者如何刪除固定大小的空值。ex)data := make([]byte, 4096)conn.Read(data)fmt.Println(len(data)) ===> 105 (Actual data length)ordata([4, 128, 16, 8, 7, 0, 0, 0, 0, 7, 9, 128, 0...])↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓data([4, 128, 16, 8, 7, 0, 0, 0, 0, 7, 9, 128])
1 回答

慕工程0101907
TA貢獻(xiàn)1887條經(jīng)驗(yàn) 獲得超5個(gè)贊
例如,
data := make([]byte, 0, 4096)
n, err := conn.Read(data[:cap(data)])
data = data[:n]
if err != nil {
// handle error
}
fmt.Println(len(data))
- 1 回答
- 0 關(guān)注
- 127 瀏覽
添加回答
舉報(bào)
0/150
提交
取消