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

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-14 14:07:021079ブラウズ

How to read the contents of a text file into a variable in Golang?

Golang でテキスト ファイルを読み取る

「file.txt」の内容を Golang の変数に読み取るにはどうすればよいですか?

package main

import (
    "fmt"
    "os"
    "log"
)

func main() {
    file, err := os.Open("file.txt")
    if err != nil {
        log.Fatal(err)
    }

    fmt.Print(file)
}

答え:

提供されたコードはファイルを正常に読み取りますが、ファイルの内容ではなくファイル記述子のポインター値を出力します。ファイルのコンテンツを取得するには、ファイル記述子から読み取る必要があります。

ファイル コンテンツの読み取りオプション:

  • ReadAll:すべてのファイル コンテンツをバイトとしてメモリに読み込みます。
b, err := io.ReadAll(file)
fmt.Print(b)
  • チャンクで読み取る: 大きなファイルによるメモリの問題を回避するために、ファイル コンテンツを小さなチャンクで読み込みます。
buf := make([]byte, 32*1024) // Define your buffer size.

for {
    n, err := file.Read(buf)

    if n > 0 {
        fmt.Print(buf[:n]) // Your read buffer.
    }

    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 in unicode-char
    fmt.Println(scanner.Bytes()) // Token in bytes
}

追加リソース:

  • [go-lang ファイル チートシート](https://go-lang-file-utils.readthedocs.io/)

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

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