Intern
Mis on serialiseerimine?
sobes.tech AI
Vastus AI-lt
Serialiseerimine on protsess, mille käigus andmestruktuuri või objekti olek muudetakse formaadiks, mida saab salvestada (näiteks faili, andmebaasi) või edastada (näiteks võrgus). See formaat on tavaliselt baitide jada.
Serialiseerimise peamised eesmärgid:
- Andmete salvestamine: võimaldab salvestada objekti või struktuuri praeguse oleku hilisemaks taastamiseks.
- Andmete edastamine: lihtsustab andmete vahetamist erinevate süsteemide või komponentide vahel.
- Ühilduvus: tagab andmete esitamise viisi, mida mõistavad erinevad rakendused või programmeerimiskeeled.
Golangis kasutatakse sageli standardpakette serialiseerimiseks:
encoding/json: andmete serialiseerimine/deserialiseerimine JSON-formaadis.encoding/xml: andmete serialiseerimine/deserialiseerimine XML-formaadis.encoding/gob: spetsiaalne serialiseerimisvorming Go jaoks, mis on kiirem ja tõhusam andmevahetuseks Go rakenduste vahel.encoding/binary: tööks binaarsete andmete esitlusega.
Näide struktuuri serialiseerimisest JSON-formaadis Go keeles:
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}
// Serialiseerimine JSON-formaadis
jsonData, err := json.Marshal(p)
if err != nil {
fmt.Println("Viga marshallingus JSON-ks:", err)
return
}
fmt.Println("Serialiseeritud JSON:", string(jsonData))
}
Serialiseerimise vastandprotsess on deserialiseerimine (või marshaling/unmarshaling), mille käigus baitide jada muudetakse tagasi algseks andmestruktuuriks või objektiks.