Sobes.tech
Junior — Middle

Πώς μπορούν να μετατραπούν οι δομές δεδομένων σε μια μορφή κατάλληλη για αποθήκευση ή μετάδοση;

sobes.tech AI

Απάντηση από AI

Για τη μετατροπή δομών δεδομένων σε μια μορφή κατάλληλη για αποθήκευση ή μετάδοση (π.χ., μέσω δικτύου), στη Go συνήθως χρησιμοποιείται η σειριοποίηση. Οι πιο διαδεδομένες μορφές είναι JSON, XML, Gob.

Για παράδειγμα, σειριοποίηση μιας δομής σε JSON:

package main

import (
    "encoding/json"
    "fmt"
)

type User struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
}

func main() {
    user := User{Name: "Anna", Age: 25}

    // Μετατροπή δομής σε JSON
    jsonData, err := json.Marshal(user)
    if err != nil {
        panic(err)
    }

    fmt.Println(string(jsonData)) // {"name":"Anna","age":25}
}

Για την αντίστροφη μετατροπή (απο-σειριοποίηση), χρησιμοποιείται το json.Unmarshal. Άλλες μορφές λειτουργούν με παρόμοιο τρόπο.

Έτσι, η σειριοποίηση επιτρέπει τη μετατροπή δομών σε μια βολική μορφή για αποθήκευση ή μετάδοση, και στη συνέχεια την επαναφορά τους στην αρχική τους μορφή.