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

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

Patricia Arquette
リリース: 2024-11-14 14:07:02
オリジナル
1080 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート