Sobes.tech
Intern

Ce este serializarea?

sobes.tech AI

Răspuns de la AI

Serializarea este procesul de transformare a unei structuri de date sau a stării unui obiect într-un format care poate fi salvat (de exemplu, într-un fișier, bază de date) sau transmis (de exemplu, prin rețea). Acest format reprezintă de obicei o secvență de octeți.

Obiectivele principale ale serializării:

  • Salvarea datelor: Permite salvarea stării curente a unui obiect sau structură pentru recuperare ulterioară.
  • Transmiterea datelor: Facilitează schimbul de date între diferite sisteme sau componente.
  • Compatibilitatea: Asigură o modalitate de reprezentare a datelor care poate fi înțeleasă de diferite aplicații sau limbaje de programare.

În Golang, se folosesc adesea pachete standard pentru serializare:

  • encoding/json: Pentru serializarea/deserializarea datelor în format JSON.
  • encoding/xml: Pentru serializarea/deserializarea datelor în format XML.
  • encoding/gob: Format specializat de serializare pentru Go, care este mai rapid și mai eficient pentru schimbul de date între aplicații Go.
  • encoding/binary: Pentru lucrul cu reprezentări binare ale datelor.

Exemplu de serializare a unei structuri în JSON în 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}

	// Serializare în JSON
	jsonData, err := json.Marshal(p)
	if err != nil {
		fmt.Println("Eroare la serializarea în JSON:", err)
		return
	}
	fmt.Println("JSON serializat:", string(jsonData))
}

Procesul opus serializării este deserializarea (sau marshaling/unmarshaling), în care secvența de octeți este transformată înapoi în structura de date sau obiectul original.