Gam*_*nbi 2 string text go slice
我想知道文件更改时的内容
有一个simeple txt文件
textOne 1,2,3,4,5,6,7,8,9,10
我把它改成了
textTwo 1,2,3,4,7,7,7,8,9,10
所以'一'和'5,6'改为'二','7,7'
我可以通过循环找到改变的东西.但我想知道是否有更好的方法来检查
而不是循环使用标准的第三方库,具有小优化.
我过去使用的其中一个库是google-diff-match-patch的Go端口(@Not_a_golfer在评论中建议的库).
您可以通过首先计算sha2两个文件的哈希来优化它,如果它们不相同,您可以假设它们已更改,否则(可能)它们是相同的,并跳过diff操作.
这种优化的一个缺点是,由于鸽子洞原理,理论上可能对于不同的内容具有相同的散列值.但是,发生的可能性非常小.
编辑(基于@ elithrar的评论): 
由于计算非常大的文件的哈希值,可能非常耗时.您可以计算sha2块(大小取决于来自sha2系列的特定散列算法).这使您可以提前纾困,并提高速度.