这里的问题是没有这么多,你在循环做什么。这不像你会直接编辑文件。
最简单的解决方案就是替换数组中的字符串,然后在完成后将数组的内容写回到文件中。
下面是我在一两分钟内整理的一些代码。它正确编译并在我的机器上运行。
package main
import (
"io/ioutil"
"log"
"strings"
)
func main() {
input, err := ioutil.ReadFile("myfile")
if err != nil {
log.Fatalln(err)
}
lines := strings.Split(string(input), "\n")
for i, line := range lines {
if strings.Contains(line, "]") {
lines[i] = "LOL"
}
}
output := strings.Join(lines, "\n")
err = ioutil.WriteFile("myfile", []byte(output), 0644)
if err != nil {
log.Fatalln(err)
}
}
有一个要点太(代码相同) https://gist.github.com/dallarosa/b58b0e3425761e0a7cf6