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։ Այլ ձևաչափերը նույնպես աշխատում են նման կերպ։
Այսպիսով, սերիալիզացիան թույլ է տալիս փոխարկել կառուցվածքները հարմար ձևաչափի՝ պահեստավորման կամ փոխանցման համար, և հետո վերականգնել դրանք սկզբնական տեսքով։