我有一个将字符串写入文件的 Go 程序。我有一个循环迭代20000 次,在每次迭代中,我将大约 20-30 个字符串写入文件。我只是想知道将它写入文件的最佳方法是什么。
方法一:保持打开代码开头的文件指针,为每个字符串写入。它使其成为 20000*30 次写入操作。
方法二:使用bytes.Buffer 把所有的东西都存储在buffer里,写在最后。同样在这种情况下文件指针应该从代码的开头打开还是在代码的结尾打开。有关系吗?
我假设方法 2 应该工作得更好。有人可以用一个理由证实这一点。一次写作如何比定期写作更好。因为文件指针无论如何都会打开。 我正在使用f.WriteString(<string>)
并且buffer.WriteString(<some string>)
缓冲区是类型的bytes.Buffer
并且f
是打开的文件指针。
白猪掌柜的
米脂
慕妹3242003
相关分类