问题内容 我有一个以此结构开头的文件: locals { my_list = [ "a", "b", "c", "d" //add more
我有一个以此结构开头的文件:
locals {
my_list = [
"a",
"b",
"c",
"d"
//add more text before this
]
}
我想在“//在此之前添加更多文本”之前添加文本“e”,在“d”之后添加“,”,所以它会像这样:
locals {
MY_LIST = [
"a",
"b",
"c",
"d",
"e"
//add more text before this
]
}
如何动态实现此功能,以便将来可以向文件添加更多字符串?
谢谢
要在以“//”开头的行之前添加文本“e”,您可以执行以下操作。
func main() {
f, err := os.OpenFile("locals.txt", os.O_RDWR, 0644)
if err != nil {
log.Fatal(err)
}
scanner := bufio.NewScanner(f)
lines := []string{}
for scanner.Scan() {
ln := scanner.Text()
if strings.Contains(ln, "//") {
index := len(lines) - 1
updated := fmt.Sprintf("%s,", lines[index])
lines[index] = updated
lines = append(lines, " \"e\"", ln)
continue
}
lines = append(lines, ln)
}
content := strings.Join(lines, "\n")
_, err = f.WriteAt([]byte(content), 0)
if err != nil {
log.Fatal(err)
}
}
--结束END--
本文标题: 如何在go中的特定字符串之前附加到文件?
本文链接: https://lsjlt.com/news/561064.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0