这里的问题是没有这么多,你在循环做什么。这不像你会直接编辑文件。

最简单的解决方案就是替换数组中的字符串,然后在完成后将数组的内容写回到文件中。

下面是我在一两分钟内整理的一些代码。它正确编译并在我的机器上运行。

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) 
     } 
}