解决:bufio.Scanner: token too long 错误
我在使用 bufio.NewScanner() 读取文件时遇到了 “token too long” 错误。错误原因是 bufio.Scanner 默认限制,最大的 token 大小是 64KB 当我们单行数据超过这个限制时,会报 token too long 错误。
这其实是一个非常典型的场景,在读取非常大的数据时(比如超过几十 MB)应该采用什么方法,因为一次读取非常大的数据可能效率不高。我们首先要考虑的数据是否可以分片处理,尽可能减少对于大内存的占用。如果必须要分配大内存,也应该合理的设置缓冲区大小。