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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-11-27 07:10:13657ブラウズ

How do I read text files in Golang?

Golang でのテキスト ファイルの読み取り

テキスト ファイルを操作する場合、その内容を変数に読み取る必要があります。 Golang では、以下に示すように、これを実現するいくつかの方法が提供されています。

直接出力

テキスト ファイルの内容全体を印刷するには、fmt.Print(file) を使用します。ただし、これはファイルの内容ではなく、ファイル記述子のポインタ値を出力します。

ioutil.ReadAll

この関数は、すべてのファイルの内容をバイトとしてメモリに読み取ります:

b, err := io.ReadAll(file)
fmt.Print(b)

io.Reader.Read

小さなチャンクで読み取るとメモリ効率が向上する可能性があります大きなファイルの場合:

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
    }
}

bufio.Scanner

スキャナーを使用すると、区切り文字に基づいてファイルがトークン化され、デフォルトは改行になります:

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 サイトの他の関連記事を参照してください。

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