Menimbal Data Panjang Pembolehubah di Golang
Dalam senario di mana anda memerlukan penimbal untuk mengendalikan data masuk dengan panjang berubah-ubah, pendekatan yang dikemukakan dalam soalan menggunakan penimbal saiz tetap, yang berpotensi membawa kepada bacaan yang tidak cekap. Pertimbangkan penyelesaian yang dipertingkatkan berikut:
<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>
Penyelesaian ini menggunakan bait.Penimbal, yang membolehkan pertumbuhan dinamik penimbal mengikut keperluan. Begini cara pendekatan yang dipertingkatkan ini berfungsi:
Dengan menggunakan pendekatan yang disemak ini, anda boleh mengendalikan data panjang berubah-ubah mengalir dengan anggun tanpa membuang ingatan pada ruang penimbal yang tidak digunakan.
Atas ialah kandungan terperinci Bagaimana untuk Menampan Data Panjang Pembolehubah dengan Cekap di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!