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. Форматҳои дигар низ ба ҳамин тариқ кор мекунанд.

Ин усул имкон медиҳад, ки сохторҳоро ба формати қулай барои нигоҳдорӣ ё интиқол табдил диҳем ва баъдан онҳоро ба ҳолати аслии худ баргардонем.