[go] Go 언어의 데이터 구조를 인코딩하는 방법
Go 언어에서 데이터를 인코딩하고 디코딩하는 것은 JSON, XML 또는 직렬화된 데이터와 같은 다른 형식으로 데이터 구조를 전송하고 저장하는 데 중요한 역할을 합니다. Go 언어는 표준 라이브러리에 encoding/json
, encoding/xml
, encoding/gob
및 기타 패키지를 제공하여 데이터를 다양한 형식으로 인코딩하고 디코딩할 수 있습니다.
JSON 인코딩 및 디코딩
Go 언어에서 JSON 형식으로 데이터를 인코딩하려면 encoding/json
패키지를 사용합니다.
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
person := Person{Name: "Alice", Age: 30}
jsonData, _ := json.Marshal(person)
fmt.Println(string(jsonData)) // {"name":"Alice","age":30}
var newPerson Person
json.Unmarshal(jsonData, &newPerson)
fmt.Println(newPerson) // {Alice 30}
}
XML 인코딩 및 디코딩
XML 형식으로 데이터를 인코딩하려면 encoding/xml
패키지를 사용할 수 있습니다. 이 패키지를 사용하여 데이터를 XML 형식으로 인코딩하고 디코딩하는 방법은 JSON과 유사합니다.
직렬화된 데이터의 인코딩 및 디코딩
직렬화된 데이터를 인코딩하고 디코딩하려면 encoding/gob
패키지를 사용할 수 있습니다. 이 패키지는 Go의 내부 표현을 사용하여 데이터를 직렬화하고 역직렬화합니다.
마치며
Go 언어는 데이터를 여러 다른 형식으로 인코딩하고 디코딩하는 기능을 강력하게 지원합니다. 이러한 표준 라이브러리를 사용하여 다른 시스템과의 상호 작용 및 데이터 저장에 활용할 수 있습니다.
관련 문서: Go 언어 JSON 인코딩/디코딩, Go 언어 XML 인코딩/디코딩, Go 언어 Gob 인코딩/디코딩