在Golang 中緩衝可變長度資料
在需要緩衝區來處理可變長度傳入資料的場景中,提出的方法問題中使用固定大小的緩衝區,可能導致讀取效率低。考慮以下改進的解決方案:
<code class="go">import ( "bytes" "fmt" "io" ) func readVariableLengthData(conn io.Reader) ([]byte, error) { buf := new(bytes.Buffer) if _, err := io.Copy(buf, conn); err != nil { return nil, err } return buf.Bytes(), nil }</code>
此解決方案利用 bytes.Buffer,它允許緩衝區根據需要動態增長。以下是這種改進方法的工作原理:
透過使用此修改後的方法,您可以處理可變長度資料優雅地進行串流傳輸,不會在未使用的緩衝區空間上浪費記憶體。
以上是Golang中如何有效率緩衝變長資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!