Intern
Co je serializace?
sobes.tech AI
Odpověď od AI
Serializace je proces převodu datové struktury nebo stavu objektu do formátu, který lze uložit (například do souboru, databáze) nebo přenést (například přes síť). Tento formát obvykle představuje posloupnost bajtů.
Hlavní cíle serializace:
- Uložení dat: Umožňuje uložit aktuální stav objektu nebo struktury pro pozdější obnovení.
- Přenos dat: Usnadňuje výměnu dat mezi různými systémy nebo komponentami.
- Kompatibilita: Zajišťuje způsob reprezentace dat, který může být pochopen různými aplikacemi nebo programovacími jazyky.
V Golangu se často používají standardní balíčky pro serializaci:
encoding/json: Pro serializaci/deserializaci dat ve formátu JSON.encoding/xml: Pro serializaci/deserializaci dat ve formátu XML.encoding/gob: Specializovaný formát serializace pro Go, který je rychlejší a efektivnější pro výměnu dat mezi Go aplikacemi.encoding/binary: Pro práci s binárními reprezentacemi dat.
Příklad serializace struktury do JSON v Go:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
p := Person{Name: "Alice", Age: 30}
// Serializace do JSON
jsonData, err := json.Marshal(p)
if err != nil {
fmt.Println("Chyba při serializaci do JSON:", err)
return
}
fmt.Println("Serializovaný JSON:", string(jsonData))
}
Opakem serializace je deserializace (nebo marshaling/unmarshaling), při které se sekvence bajtů převádí zpět na původní datovou strukturu nebo objekt.