举个例子:
for {
myData := <-myChan
buf := new(bytes.Buffer)
encoder := gob.NewEncoder(buf)
err := encoder.Encode(myData)
...
我可以将 buf := new(...
放在 for 循环之上以节省处理器和一些内存,但这会导致任何问题吗?我看到的例子有 new
在循环中。
编辑:对于上述情况,编码器可以超越 for 循环,那么为什么不呢(在我见过的例子中)?
最佳答案
我希望重用缓冲区:
buf := new(bytes.Buffer)
for {
buf.Reset()
//...
}
关于go - 在每次循环迭代中重新声明 slice 是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55984982/