ホームページ >バックエンド開発 >Golang >Golang でテキスト ファイルを読み取るにはどうすればよいですか?

Golang でテキスト ファイルを読み取るにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-18 22:37:02599ブラウズ

How to Read a Text File in Golang?

テキスト ファイルの読み取り方法

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 パッケージは、テキスト ファイルを読み取る便利な方法を提供します。ファイルの内容のトークン化を簡素化する bufio.Scanner タイプを提供します。

scanner := bufio.NewScanner(file)
for scanner.Scan() {             
    fmt.Println(scanner.Text())
}

Scan() メソッドは、区切り文字 (デフォルトでは改行) に基づいてスキャナーのトークンを進めます。

以上がGolang でテキスト ファイルを読み取るにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。