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でテキストファイルを読むには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。