[go] bufio 패키지를 이용한 효율적인 데이터 읽기
Go 언어에서 파일의 데이터를 읽을 때 내장 bufio
패키지를 사용하여 훨씬 더 효율적인 방법으로 데이터를 읽을 수 있습니다. bufio
패키지를 사용하면 I/O 연산을 줄이고 메모리를 절약할 수 있으며, 데이터를 효율적으로 처리할 수 있습니다.
bufio 패키지 개요
bufio
패키지는 버퍼링된 I/O를 제공하여 효율적인 데이터 읽기 및 쓰기를 위한 기능을 제공합니다. 버퍼링된 I/O는 데이터를 한 번에 읽거나 쓰는 것이 아니라, 작은 단위로 나누어 읽거나 쓸 수 있도록 해줍니다.
bufio를 사용한 파일 읽기
다음은 bufio
를 사용하여 파일을 읽는 간단한 예제 코드입니다.
package main
import (
"bufio"
"log"
"os"
)
func main() {
file, err := os.Open("data.txt")
if err != nil {
log.Fatal(err)
}
defer file.Close()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
line := scanner.Text()
log.Println(line)
}
if err := scanner.Err(); err != nil {
log.Fatal(err)
}
}
위의 예제 코드에서는 os.Open
을 사용하여 파일을 열고, bufio.NewScanner
를 사용하여 파일을 스캔하고 각 줄을 읽어옵니다. 이를 통해 파일을 효율적으로 읽을 수 있습니다.
결론
bufio
패키지를 사용하면 파일 또는 기타 소스에서 데이터를 읽을 때 더 효율적으로 처리할 수 있습니다. 이를 통해 I/O 연산을 줄이고 메모리를 절약하며, 더 빠르고 효율적으로 데이터를 처리할 수 있습니다.
더 많은 정보와 예제는 Go 공식 문서의 bufio 패키지를 참고하세요.