[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 함수를 사용하여 이진 데이터를 쓸 수 있습니다. 위의 예제 코드를 사용하여 파일에 원하는 이진 데이터를 쓰고 실험해 보세요!