Textdateien in ein String-Array in Go lesen und schreiben
Das Lesen und Schreiben von Textdateien in ein String-Array und aus einem String-Array ist weit verbreitet Anforderung in der Programmierung. In Go kann dies mithilfe der in Go1.1 eingeführten bufio.Scanner-API erreicht werden.
Betrachten Sie den folgenden Codeausschnitt, der bufio.Scanner verwendet, um eine Textdatei in ein String-Array einzulesen:
package main import ( "bufio" "fmt" "log" "os" ) func readLines(path string) ([]string, error) { file, err := os.Open(path) if err != nil { return nil, err } defer file.Close() var lines []string scanner := bufio.NewScanner(file) for scanner.Scan() { lines = append(lines, scanner.Text()) } return lines, scanner.Err() } func main() { lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } for i, line := range lines { fmt.Println(i, line) } }
Diese Funktion öffnet die angegebene Datei, erstellt einen bufio.Scanner für die Datei, durchläuft jede Zeile in der Datei und hängt die Zeile an eine Zeichenfolge an Array.
Sie können auch ein String-Array in eine Textdatei schreiben, indem Sie die Funktion writeLines verwenden:
func writeLines(lines []string, path string) error { file, err := os.Create(path) if err != nil { return err } defer file.Close() w := bufio.NewWriter(file) for _, line := range lines { fmt.Fprintln(w, line) } return w.Flush() } func main() { lines := []string{"line 1", "line 2", "line 3"} if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) } }
Diese Funktion erstellt eine Datei und schreibt die Zeilen mithilfe eines bufio.Writer in die Datei , und leert den Writer, um sicherzustellen, dass alle Daten in die Datei geschrieben werden.
Diese Funktionen bieten eine einfache und effektive Möglichkeit, Textdateien in eine Zeichenfolge zu lesen und daraus zu schreiben Array in Go.
Das obige ist der detaillierte Inhalt vonWie lese und schreibe ich Textdateien in ein String-Array in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!