テキスト ファイルを操作する場合、その内容を変数に読み取る必要があります。 Golang では、以下に示すように、これを実現するいくつかの方法が提供されています。
テキスト ファイルの内容全体を印刷するには、fmt.Print(file) を使用します。ただし、これはファイルの内容ではなく、ファイル記述子のポインタ値を出力します。
この関数は、すべてのファイルの内容をバイトとしてメモリに読み取ります:
b, err := io.ReadAll(file) fmt.Print(b)
小さなチャンクで読み取るとメモリ効率が向上する可能性があります大きなファイルの場合:
buf := make([]byte, 32*1024) // Define buffer size for { n, err := file.Read(buf) if n > 0 { fmt.Print(buf[:n]) } if err == io.EOF { break } if err != nil { log.Printf("read %d bytes: %v", n, err) break } }
スキャナーを使用すると、区切り文字に基づいてファイルがトークン化され、デフォルトは改行になります:
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) // Token as unicode characters fmt.Println(scanner.Bytes()) // Token as bytes }
追加情報および例については、包括的なファイル処理テクニックについては Golang ファイル チートシートを参照してください。
以上がGolang でテキスト ファイルを読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。