Sobes.tech
Junior — Middle

Kuidas saab andmestruktuureid muuta sobivaks formaadiks salvestamiseks või edastamiseks?

sobes.tech AI

Vastus AI-lt

Andmete struktuureid sobivasse vormingusse, mis sobib salvestamiseks või edastamiseks (näiteks võrgus), kasutatakse Go-s tavaliselt serialiseerimist. Kõige levinumad formaadid on JSON, XML, Gob.

Näiteks struktuuri serialiseerimine JSON-i:

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}

    // Struktuuri konverteerimine JSON-iks
    jsonData, err := json.Marshal(user)
    if err != nil {
        panic(err)
    }

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

Vastupidine konverteerimine (deserialiseerimine) toimub kasutades json.Unmarshal. Teised formaadid töötavad sarnaselt.

Sellisel viisil võimaldab serialiseerimine muuta struktuurid mugavasse vormingusse salvestamiseks või edastamiseks ning seejärel taastada need algsesse vormi.