Sobes.tech
Intern

Serializasiya nədir?

sobes.tech Süni İntellekt

AI-dan cavab

Serializasiya — bu məlumatların strukturasını və ya obyektin vəziyyətini yadda saxlaya bilən (məsələn, faylda, verilənlər bazasında) və ya ötürə bilən (məsələn, şəbəkə vasitəsilə) formata çevrilməsi prosesidir. Bu format adətən baytlar ardıcıllığını təmsil edir.

Serializasiyanın əsas məqsədləri:

  • Məlumatların saxlanması: Mövcud obyekt və ya struktur vəziyyətini sonradan bərpa etmək üçün saxlamağa imkan verir.
  • Məlumatların ötürülməsi: Müxtəlif sistemlər və ya komponentlər arasında məlumat mübadiləsini asanlaşdırır.
  • Uyumluluq: Məlumatların müxtəlif tətbiqlər və ya proqramlaşdırma dilləri tərəfindən başa düşülən şəkildə təqdim olunması üçün üsul təmin edir.

Golang-da, adətən, serializasiya üçün standart paketlər istifadə olunur:

  • encoding/json: JSON formatında məlumatların serializasiyası/deserializasiyası üçün.
  • encoding/xml: XML formatında məlumatların serializasiyası/deserializasiyası üçün.
  • encoding/gob: Go üçün xüsusi serializasiya formatı, daha sürətli və effektivdir Go tətbiqləri arasında məlumat mübadiləsi üçün.
  • encoding/binary: İkili məlumatların təmsilatı ilə işləmək üçün.

Go-da strukturun JSON formatında serializasiyasına nümunə:

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name string `json:"name"`
	Age  int    `json:"age"`
}

func main() {
	p := Person{Name: "Alice", Age: 30}

	// JSON-a serializasiya
	jsonData, err := json.Marshal(p)
	if err != nil {
		fmt.Println("JSON-ə çevirmədə xəta:", err)
		return
	}
	fmt.Println("Serializə olunmuş JSON:", string(jsonData))
}

Serializasiyanın əks prosesi — deserializasiya (və ya marshaling/unmarshaling), burada baytlar ardıcıllığı yenidən orijinal məlumat strukturasına və ya obyektə çevrilir.