我一直在用 Go 编写这个 Php 解析器,但我似乎遇到了一个小问题,即有时最后一行没有添加到我正在编写的新文件中。
基本上我会检查原始的 Php 文件,进行一些混淆,然后将这些混淆的行写入一个新文件。
问题是有时我遇到一个文件末尾没有换行符,我假设 line, err := reader.ReadString('\n')
不会如果字符串末尾没有分隔符,则读取该字符串?
是否有一个不涉及使用 Scanner 的简单解决方案,因为很多解析代码都依赖于解释换行符......
最佳答案
问题已解决,我在将最后一个字符添加到混淆行之前跳出了循环。将 EOF 处理移动到底部解决了这个问题。
关于parsing - 如果没有换行符,如何从 reader.ReadString 获取最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52290372/