Intern
Čo je serializácia?
sobes.tech AI
Odpoveď od AI
Serializácia je proces prevodu štruktúry údajov alebo stavu objektu do formátu, ktorý možno uložiť (napríklad do súboru, databázy) alebo preniesť (napríklad cez sieť). Tento formát zvyčajne predstavuje sekvenciu bajtov.
Hlavné ciele serializácie:
- Uloženie údajov: Umožňuje uložiť aktuálny stav objektu alebo štruktúry na neskoršie obnovenie.
- Prenos údajov: Uľahčuje výmenu údajov medzi rôznymi systémami alebo komponentmi.
- Kompatibilita: Zabezpečuje spôsob reprezentácie údajov, ktorý môže byť pochopený rôznymi aplikáciami alebo programovacími jazykmi.
V Golangu sa často používajú štandardné balíky na serializáciu:
encoding/json: Na serializáciu/deserializáciu údajov vo formáte JSON.encoding/xml: Na serializáciu/deserializáciu údajov vo formáte XML.encoding/gob: Špecializovaný formát serializácie pre Go, ktorý je rýchlejší a efektívnejší pre výmenu údajov medzi Go aplikáciami.encoding/binary: Na prácu s binárnymi reprezentáciami údajov.
Príklad serializácie štruktúry 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}
// Serializácia do JSON
jsonData, err := json.Marshal(p)
if err != nil {
fmt.Println("Chyba pri serializácii do JSON:", err)
return
}
fmt.Println("Serializovaný JSON:", string(jsonData))
}
Opakom serializácie je deserializácia (alebo marshaling/unmarshaling), pri ktorej sa sekvencia bajtov konvertuje späť na pôvodnú dátovú štruktúru alebo objekt.