Go での文字列配列としてのテキスト ファイルの読み取りと書き込み
テキスト ファイルを処理する機能は、読み取りや書き込みなど、プログラミングにおける一般的な要件です。文字列配列への書き込み。 Go には、このニーズに対処するためのソリューションが存在します。
テキスト ファイルの読み取り
Go 1.1 では、bufio.Scanner API は、テキスト ファイルから行を読み取る効率的な方法を提供します。ファイルを文字列スライスに変換します。以下に例を示します。
import ( "bufio" "fmt" "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() }
この関数は、ファイル全体をメモリに読み取り、その行のスライスを返します。
テキスト ファイルの書き込み
文字列スライスをテキスト ファイルに書き込むには、bufio.Writer を使用できます。 type:
import ( "bufio" "fmt" "os" ) 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() }
この関数はファイルを作成し、ファイルに行を書き込み、バッファをフラッシュしてデータが確実にディスクに書き込まれるようにします。
使用例
これらの関数の使用方法の例を次に示します。
lines, err := readLines("foo.in.txt") if err != nil { log.Fatalf("readLines: %s", err) } // Process the lines... if err := writeLines(lines, "foo.out.txt"); err != nil { log.Fatalf("writeLines: %s", err) }
このコード「foo.in.txt」ファイルから行を読み取り、処理して、「foo.out.txt」ファイルに書き込みます。
以上がGo でテキスト ファイルを文字列配列として読み書きするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。