반응형
os.CreateTemp() 함수는 임시 파일을 생성하는 함수이다.
함수를 호출하면 임시 파일이 생성되고, 그 파일을 열 수 있는 파일 핸들과 파일 이름을 반환한다.
파일 핸들을 사용하여 파일에 쓰거나 파일에서 읽을 수 있다.
일반적으로 임시 파일은 프로그램이 실행되는 동안 사용되며, 더 이상 필요하지 않을 때 제거된다.
함수 원형은 다음과 같다.
func CreateTemp(dir, prefix string) (*os.File, error)
인자로는 다음과 같은 값이 전달된다.
- dir: 임시 파일이 생성될 디렉토리 경로이다.
- 이 값이 빈 문자열이면 기본값으로 /tmp가 사용된다.
- prefix: 임시 파일 이름의 접두어다.
- 이 값이 빈 문자열이면 기본값으로 "tmp"가 사용된다.
예제
package main
import (
"fmt"
"io/ioutil"
"os"
)
func main() {
// 임시 파일 생성
tmpFile, err := os.CreateTemp("", "example")
if err != nil {
panic(err)
}
defer os.Remove(tmpFile.Name()) // 프로그램 종료 시 파일 삭제
// 임시 파일에 데이터 쓰기
data := []byte("hello, world!\\n")
if _, err := tmpFile.Write(data); err != nil {
panic(err)
}
// 임시 파일에서 데이터 읽기
if _, err := tmpFile.Seek(0, 0); err != nil {
panic(err)
}
b, err := ioutil.ReadAll(tmpFile)
if err != nil {
panic(err)
}
fmt.Printf("%s", b)
}
예제에서는 os.CreateTemp() 함수를 사용하여 "example"이라는 접두어를 갖는 임시 파일을 생성하고,
그 파일에 "hello, world!\n" 문자열을 쓴 다음 파일을 읽어들여 표준 출력에 출력한다.
프로그램이 종료될 때 임시 파일은 자동으로 삭제된다.
반응형
'Golang' 카테고리의 다른 글
Golang 슬라이스 정렬(오름차순, 내림차순) (0) | 2023.04.10 |
---|---|
Golang UUID 생성 (0) | 2023.03.27 |
Golang CSV를 JSON 변환 (0) | 2023.03.15 |
Golang JSON을 CSV로 변환 (0) | 2023.03.15 |
Golang 디렉토리 생성(os.Mkdir, os.MkdirAll) (0) | 2023.03.15 |
댓글