PHpullh
학습 라이브러리/Go/파일 읽기/쓰기

GO · 파일/IO

파일 읽기/쓰기

osio 패키지로 파일을 읽고 씁니다. Go 1.16+의 os.ReadFile/os.WriteFile이 가장 간단합니다.

파일/IO중급filereadwriteos

핵심 설명

osio 패키지로 파일을 읽고 씁니다. Go 1.16+의 os.ReadFile/os.WriteFile이 가장 간단합니다.

Go code

package main

import (
	"fmt"
	"os"
)

func main() {
	// 파일 쓰기 (간단한 방법)
	data := []byte("Hello, Go 파일!")
	err := os.WriteFile("test.txt", data, 0644)
	if err != nil { panic(err) }

	// 파일 읽기 (간단한 방법)
	content, err := os.ReadFile("test.txt")
	if err != nil { panic(err) }
	fmt.Println(string(content))

	// os.OpenFile로 세밀한 제어
	f, err := os.OpenFile("log.txt",
		os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
	if err != nil { panic(err) }
	defer f.Close()

	f.WriteString("로그 메시지\n")
	fmt.Println("파일 작성 완료")

	// 정리
	os.Remove("test.txt")
	os.Remove("log.txt")
}

학습 팁

os.ReadFile/os.WriteFile은 작은 파일에 적합합니다. 대용량 파일은 bufio로 스트리밍 처리하세요.

주의할 점

defer f.Close()의 에러를 무시하면 쓰기 버퍼가 플러시되지 않을 수 있습니다. 쓰기 파일은 Close 에러를 확인하세요.

자주 묻는 질문

파일 읽기/쓰기란 무엇인가요?

os 와 io 패키지로 파일을 읽고 씁니다. Go 1.16+의 os.ReadFile / os.WriteFile 이 가장 간단합니다.

파일 읽기/쓰기 학습 시 주의할 점은 무엇인가요?

defer f.Close() 의 에러를 무시하면 쓰기 버퍼가 플러시되지 않을 수 있습니다. 쓰기 파일은 Close 에러를 확인하세요.

Continue Learning

Go 학습을 이어가세요

총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.