[go] 파일 텍스트 데이터 쓰기

Go는 파일에 텍스트 데이터를 쓰는 여러 가지 방법을 제공합니다. 이 포스트에서는 가장 일반적으로 사용되는 방법에 대해 알아보겠습니다.

os 패키지를 사용한 파일 쓰기

Go의 기본 라이브러리인 os 패키지를 사용하여 파일에 텍스트를 쓸 수 있습니다. 아래는 간단한 예제 코드입니다.

package main

import (
	"os"
)

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

	text := "Hello, world!"
	_, err = file.WriteString(text)
	if err != nil {
		panic(err)
	}
}

os.Create() 함수를 사용하여 파일을 생성하고, file.WriteString()을 사용하여 텍스트를 파일에 씁니다. defer를 사용하여 파일을 닫습니다.

ioutil 패키지를 사용한 파일 쓰기

또 다른 방법은 ioutil 패키지를 사용하는 것입니다. 이 패키지는 파일 작업을 보다 간단하게 처리할 수 있도록 도와줍니다.

package main

import (
	"io/ioutil"
)

func main() {
	text := "Hello, world!"
	err := ioutil.WriteFile("output.txt", []byte(text), 0644)
	if err != nil {
		panic(err)
	}
}

위의 예제에서는 ioutil.WriteFile() 함수를 사용하여 텍스트를 파일에 씁니다.

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)
	text := "Hello, world!"
	_, err = writer.WriteString(text)
	if err != nil {
		panic(err)
	}
	writer.Flush()
}

bufio.NewWriter() 함수를 사용하여 bufio.Writer를 생성하고, 이를 통해 파일에 텍스트를 씁니다. Flush() 메서드를 호출하여 모든 데이터를 파일로 플러시합니다.

이렇게 다양한 방법으로 Go에서 파일에 텍스트 데이터를 쓸 수 있습니다.

참고 자료