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. Форматҳои дигар низ ба ҳамин тариқ кор мекунанд.
Ин усул имкон медиҳад, ки сохторҳоро ба формати қулай барои нигоҳдорӣ ё интиқол табдил диҳем ва баъдан онҳоро ба ҳолати аслии худ баргардонем.