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

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

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-15 12:36:02728ブラウズ

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

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