Maison >développement back-end >Golang >Comment ajouter à un fichier avant une chaîne spécifique en cours de route ?
J'ai un fichier qui commence par cette structure :
locals { my_list = [ "a", "b", "c", "d" //add more text before this ] }
Je souhaite ajouter le texte "e" avant "//Ajouter plus de texte avant ceci" et "," après "d", donc cela ressemblera à ceci :
locals { MY_LIST = [ "a", "b", "c", "d", "e" //add more text before this ] }
Comment puis-je implémenter cela de manière dynamique afin de pouvoir ajouter plus de chaînes au fichier à l'avenir ?
Merci
Pour ajouter le texte "e" avant la ligne commençant par "//", vous pouvez procéder comme suit.
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) } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!