Go での文字列配列へのテキスト ファイルの読み取りと書き込み
文字列配列へのテキスト ファイルの読み取りと文字列配列へのテキスト ファイルの書き込みは、一般的な操作です。プログラミングにおける必須条件。 Go では、これは Go1.1 で導入された bufio.Scanner API を使用して実現できます。
bufio.Scanner を使用してテキスト ファイルを文字列配列に読み取る次のコード スニペットを考えてみましょう。
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) } }
この関数は、指定されたファイルを開き、ファイルの bufio.Scanner を作成し、ファイル内の各行を反復処理して、
writeLines 関数を使用して、文字列配列をテキスト ファイルに書き込むこともできます。
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) } }
この関数はファイルを作成し、ファイルに行を書き込みます。 bufio.Writer を使用し、ライターをフラッシュしてすべてのデータが確実にファイルに書き込まれるようにします。
これらの関数は、読み取りと書き込みを行うためのシンプルかつ効果的な方法を提供します。 Go の文字列配列との間でテキスト ファイルをやり取りします。
以上がGoでテキストファイルを文字列配列に読み書きする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。