[go] bufio 패키지를 사용한 입출력 스트림 처리
Go 언어의 bufio
패키지는 효율적인 입출력 스트림 처리를 제공하는데 도움이 됩니다. bufio
패키지를 사용하면 내장된 버퍼링 기능으로 인해 입출력 효율이 향상되며, 특히 작은 작업에 있어서 빠른 처리 속도를 보장할 수 있습니다.
1. bufio 패키지의 기능
bufio
패키지는 다양한 함수와 유연한 기능을 제공합니다. 이를 통해 다음과 같은 작업을 수행할 수 있습니다:
- 데이터 입력 및 출력 버퍼링
- 파일 읽기 및 쓰기
- 텍스트 및 이진 데이터 처리
2. bufio를 사용한 입출력 스트림 처리 예제
다음은 bufio
패키지를 사용하여 파일을 읽고 쓰는 간단한 예제 코드입니다.
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
// 파일 열기
file, err := os.Open("example.txt")
if err != nil {
fmt.Println("파일 열기 실패:", err)
return
}
defer file.Close()
// 파일 읽기 위한 bufio.Reader 생성
reader := bufio.NewReader(file)
// 파일 내용 읽기
for {
line, err := reader.ReadString('\n')
if err != nil {
break
}
fmt.Print(line)
}
}
위 예제에서는 os.Open
을 통해 파일을 열고, bufio.NewReader
를 사용하여 파일을 읽는 reader
를 생성합니다. 그 후 reader.ReadString
을 이용하여 파일의 내용을 한 줄씩 읽어오고 이를 출력합니다.
3. 마무리
bufio
패키지는 입출력 스트림 처리에 유용한 도구이며, 특히 파일 처리 및 텍스트 기반 데이터 처리에 적합합니다. 이를 통해 Go 언어에서 효율적이고 빠른 입출력 스트림 처리를 할 수 있습니다.