[go] gob 패키지의 적용 방법과 사용법
Go 언어의 gob
패키지는 데이터 직렬화(serialization)를 위한 표준 패키지로서, Go언어의 데이터 구조체를 바이트 스트림으로 변환하거나, 반대로 복원하는 기능을 제공합니다. gob
패키지는 데이터 교환 및 영속화에 유용하며, 일련의 바이트 스트림으로 변환하여 네트워크 통신이나 파일 입출력에 적합합니다.
gob
패키지 적용 방법
gob
패키지를 사용하기 위해서는 다음의 단계를 따를 수 있습니다.
- 구조체 정의: 직렬화하고자 하는 데이터 구조체를 정의합니다.
- 직렬화(Encode):
gob
패키지의Encode
메서드를 사용하여 구조체를 바이트 스트림으로 변환합니다. - 역직렬화(Decode):
gob
패키지의Decode
메서드를 사용하여 바이트 스트림을 원래의 구조체로 복원합니다.
예제 코드
다음은 gob
패키지를 사용하여 데이터를 직렬화하고 역직렬화하는 간단한 예제 코드입니다.
package main
import (
"bytes"
"encoding/gob"
"fmt"
)
type Person struct {
Name string
Age int
}
func main() {
// 구조체 생성
person := Person{Name: "Alice", Age: 30}
// 직렬화
var buffer bytes.Buffer
enc := gob.NewEncoder(&buffer)
err := enc.Encode(person)
if err != nil {
panic(err)
}
// 역직렬화
var decodedPerson Person
dec := gob.NewDecoder(&buffer)
err = dec.Decode(&decodedPerson)
if err != nil {
panic(err)
}
fmt.Println(decodedPerson) // 출력: {Alice 30}
}
마무리
위의 예제 코드를 통해 gob
패키지의 간단한 활용 방법을 확인할 수 있습니다. gob
패키지는 Go 언어로 작성된 프로그램에서 데이터 직렬화 및 역직렬화를 위해 매우 유용한 도구입니다.