[go] bufio 패키지를 이용한 텍스트 파일 처리

Golang은 효율적인 텍스트 파일 처리를 위해 bufio 패키지를 제공합니다. 이 패키지는 파일을 버퍼링하고, 입출력 작업을 위한 추가 기능을 제공하여 성능을 향상시킵니다.

bufio 패키지 소개

Golang의 bufio 패키지는 입출력 작업을 위한 버퍼링을 제공합니다. 이를 통해 입출력 속도를 향상시키고, 추가적인 입출력 기능을 제공합니다.

bufio를 이용한 텍스트 파일 읽기

아래의 예제 코드는 bufio를 사용하여 텍스트 파일을 읽는 방법을 보여줍니다.

package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	file, err := os.Open("example.txt")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		fmt.Println(scanner.Text())
	}

	if err := scanner.Err(); err != nil {
		panic(err)
	}
}

위 코드는 example.txt 파일을 열고, bufio.NewScanner()를 사용하여 파일 내용을 스캔하고 출력하는 방법을 보여줍니다.

bufio를 이용한 텍스트 파일 쓰기

다음의 예제 코드는 bufio를 사용하여 텍스트를 파일에 쓰는 방법을 보여줍니다.

package main

import (
	"bufio"
	"os"
)

func main() {
	file, err := os.Create("output.txt")
	if err != nil {
		panic(err)
	}
	defer file.Close()

	writer := bufio.NewWriter(file)
	_, err = writer.WriteString("Hello, World!\n")
	if err != nil {
		panic(err)
	}

	writer.Flush()
}

위 코드는 output.txt 파일을 생성하고, bufio.NewWriter()를 사용하여 파일에 텍스트를 쓰는 방법을 보여줍니다.

결론

Golang의 bufio 패키지를 사용하면 텍스트 파일 처리를 효율적으로 수행할 수 있습니다. 이를 통해 파일 입출력 성능을 향상시키고, 추가 기능을 활용할 수 있습니다. Golang 프로그래머들은 이 패키지를 활용하여 다양한 파일 처리 작업을 보다 효율적으로 수행할 수 있습니다.