[go] 파일 이진 데이터 쓰기
이진 데이터를 파일에 쓰는 것은 파일에 바이트 슬라이스를 쓰는 것과 매우 유사합니다. Go 언어를 사용하여 파일에 이진 데이터를 쓰는 방법을 살펴보겠습니다.
파일 생성 및 열기
가장 먼저, 파일을 생성하고 열어야 합니다. 이를 위해 os.Create
함수를 사용하여 쓰기 가능한 파일을 생성하고, os.Open
함수를 사용하여 이미 존재하는 파일을 열 수 있습니다.
package main
import (
"os"
)
func main() {
// 파일 생성
file, err := os.Create("data.bin")
if err != nil {
panic(err)
}
defer file.Close()
// 파일 열기
file, err := os.Open("data.bin")
if err != nil {
panic(err)
}
defer file.Close()
}
이진 데이터 쓰기
파일에 이진 데이터를 쓰려면, Write
또는 WriteAt
을 사용합니다. Write
함수는 파일의 현재 오프셋에서부터 데이터를 씁니다. WriteAt
함수는 지정된 오프셋에서부터 데이터를 씁니다.
package main
import (
"os"
"encoding/binary"
)
func main() {
file, err := os.Create("data.bin")
if err != nil {
panic(err)
}
defer file.Close()
// 이진 데이터 쓰기
data := []byte{0x48, 0x65, 0x6c, 0x6c, 0x6f} // "Hello"의 ASCII 코드
_, err = file.Write(data)
if err != nil {
panic(err)
}
// 이진 데이터로 쓰기
value := 42
binaryData := make([]byte, 8)
binary.LittleEndian.PutUint64(binaryData, uint64(value))
_, err = file.Write(binaryData)
if err != nil {
panic(err)
}
}
마치며
간단하게, Go를 사용하여 파일에 이진 데이터를 쓰는 방법을 알아보았습니다. 파일을 생성하고 열고, Write
또는 WriteAt
함수를 사용하여 이진 데이터를 쓸 수 있습니다. 위의 예제 코드를 사용하여 파일에 원하는 이진 데이터를 쓰고 실험해 보세요!