Go的io.Reader文档指出Read()可能会返回一个非零的n值和一个io.EOF同时。不幸的是,File的Read()方法不会这样做。当到达EOF时仍然可以读取一些字节,文件的Read方法返回非零n和nil错误。只有当我们已经在文件末尾尝试读取时,我们才返回零n和io.EOF作为错误。如果不尝试从文件中读取数据,我找不到一种简单的方法来测试是否达到了EOF。如果我们使用0字节的缓冲区执行Read(),我们会返回零n和nil错误,尽管我们在文件末尾。为了避免最后一次读取,我找到的唯一解决方案是自己跟踪文件中剩余要读取的字节数。有更简单的解决方案吗? 最佳