ホームページ > バックエンド開発 > Golang > Goでテキストファイルを読むには?

Goでテキストファイルを読むには?

Mary-Kate Olsen
リリース: 2024-11-15 12:36:02
オリジナル
759 人が閲覧しました

How to Read Text Files in Go?

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

Go でのテキスト ファイルの読み取りには、os および io パッケージの使用が含まれます。その仕組みの詳細は次のとおりです。

ファイルを開く

最初のステップは、os.Open() 関数を使用してテキスト ファイルを開くことです。この関数は、ファイル記述子を表す *os.File ポインターを返します。以下に例を示します。

file, err := os.Open("file.txt")
if err != nil {
    log.Fatal(err)
}
ログイン後にコピー

ファイルの内容の読み取り

ファイルを開くと、その内容にアクセスできます。これを行うにはいくつかの方法があります:

1. io.ReadAll() の使用:

この関数は、ファイルのすべてのコンテンツをバイト スライスに読み取ります。ファイル全体を一度に読み取る必要がある場合は効率的です。

b, err := io.ReadAll(file)
fmt.Print(b)
ログイン後にコピー

2. *os.File.Read():

を使用すると、ファイルをチャンク単位で読み取ることもできます。これは、データを段階的に処理する必要がある場合に便利です。

buf := make([]byte, 32*1024) // Custom buffer size

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

    if n > 0 {
        fmt.Print(buf[:n])
    }

    if err == io.EOF {
        break
    }

    if err != nil {
        log.Fatal(err)
    }
}
ログイン後にコピー

3. bufio.Scanner の使用:

bufio パッケージは、ファイルをスキャンして 1 行ずつ読み取る便利な方法を提供します。

scanner := bufio.NewScanner(file)

for scanner.Scan() {
    fmt.Println(scanner.Text())
}
ログイン後にコピー

ファイルを閉じる

ファイルの読み取りが完了したら、忘れずにファイルを閉じてリソースを解放してください。 *os.File タイプは io.Closer インターフェイスを実装しているため、file.Close().

その他のリソース

  • Go File Cheatsheet を使用できます。 https://www.digitalocean.com/community/tutorials/golang-reading-and-writing-files#how-to-read-a-file

以上がGoでテキストファイルを読むには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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