這裏的問題是沒有這麼多,你在循環做什麼。這不像你會直接編輯文件。
最簡單的解決方案就是替換數組中的字符串,然後在完成後將數組的內容寫回到文件中。
下面是我在一兩分鐘內整理的一些代碼。它正確編譯並在我的機器上運行。
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