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. Άλλες μορφές λειτουργούν με παρόμοιο τρόπο.
Έτσι, η σειριοποίηση επιτρέπει τη μετατροπή δομών σε μια βολική μορφή για αποθήκευση ή μετάδοση, και στη συνέχεια την επαναφορά τους στην αρχική τους μορφή.