Golang では、テキスト ファイルを読み取るには、os.Open() を使用してファイルを開き、返された *os.File オブジェクトを使用する必要があります。読み取り操作を実行します。ただし、ファイルを開くだけではその内容は取得されません。
ファイルの内容を取得するには、io.ReadAll を使用するか、手動でチャンク単位で読み取ることができます。
io.ReadAll の使用:
b, err := io.ReadAll(file) fmt.Print(b)
このメソッドは、ファイル全体をメモリに読み取ります。これは、小さいファイルに適しています。
手動チャンク読み取り:
buf := make([]byte, 32*1024) 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 } }
このアプローチでは、バッファーを定義し、ファイルの内容をチャンクで読み取ります。これにより、大きなファイルの場合により効率的になります。
bufio パッケージは、テキスト ファイルを読み取る便利な方法を提供します。ファイルの内容のトークン化を簡素化する bufio.Scanner タイプを提供します。
scanner := bufio.NewScanner(file) for scanner.Scan() { fmt.Println(scanner.Text()) }
Scan() メソッドは、区切り文字 (デフォルトでは改行) に基づいてスキャナーのトークンを進めます。
以上がGolang でテキスト ファイルを読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。