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. სხვა ფორმატებიც მუშაობენ მსგავსად.
ამ გზით სერილიზაცია საშუალებას აძლევს სტრუქტურებს გადაიტანონ სასურველ ფორმატში შენახვის ან გადაცემის მიზნით, და შემდეგ აღადგინონ მათი თავდაპირველი სახით.