goで[]バイトバッファを再利用する適切な方法を知りたいと思います。私はこのソケットで作業するときに読み込みバッファを再利用する
buf := make([]byte, 1024)
ようにそれを宣言してから、私はそれがメモリの割り当てを必要とするので、新しいバッファを宣言することは効率的ではないことを聞いて、この
conn, _ := net.Dial("tcp", addr)
_, err = conn.read(buf)
のように使用して、我々は代わりに、既存のバッファを再利用する必要があること。しかし、私はちょうどバッファを再度渡すことができるかどうかわからない、それは拭き取られるか、以前のメッセージの一部を保持できる(特にソケットからの現在のメッセージがprev.oneより短い場合)?
import "io"
type Reader interface {
Read(p []byte) (n int, err error)
}
リーダーPackage io