Pensirilan objek dan penyahsirilan dalam bahasa Go

WBOY
Lepaskan: 2023-06-03 08:31:51
asal
1401 orang telah melayarinya

Dengan aplikasi teknologi pelayan teragih, fungsi pensirilan objek dan penyahserikatan telah menjadi lebih biasa dalam kerja pengaturcara. Bahasa Go juga menyediakan pelbagai cara untuk melaksanakan pensirilan objek dan penyahsirilan, dan senario penggunaan kaedah ini juga berbeza. Artikel ini akan memperkenalkan secara terperinci pelaksanaan pensirilan objek dan penyahsirilan dalam bahasa Go dan cara menggunakannya.

1. Apakah pensirilan objek dan penyahserilan?

Penyirian dan penyahserikan objek merujuk kepada menukar struktur data objek kepada bentuk yang boleh disimpan atau boleh dipindahkan untuk memudahkan operasi seterusnya. Proses bersiri adalah untuk menukarkan objek kepada aliran bait, yang boleh disimpan atau dihantar melalui rangkaian Proses penyahsiran adalah untuk menukar aliran bait kepada objek semula.

2. Kaedah pensirilan dan penyahserikan objek dalam bahasa Go

  1. gob

gob ialah pakej yang disediakan oleh bahasa Go Digunakan untuk melaksanakan pensirilan objek dan penyahserikatan. Kelebihannya ialah ia mempunyai kecekapan tinggi, dan format bersirinya sangat sesuai untuk jenis data bahasa Go. Walau bagaimanapun, kerana kaedah penghuraiannya tidak cukup fleksibel, ia akan menjadi sukar untuk dikembangkan.

Cara menggunakan kaedah siri gob:

(1) Cipta struktur untuk disiri:

type Student struct {
    Name string
    Age  int
    Sex  int
}
Salin selepas log masuk

(2) Serialkan objek struktur:

var stu Student
var buf bytes.Buffer
enc := gob.NewEncoder(&buf)
err = enc.Encode(stu)
if err != nil {
    log.Fatal("encode error:", err)
}
Salin selepas log masuk

(3) Tukar strim bait bersiri kepada objek struktur:

dec := gob.NewDecoder(bytes.NewReader(buf.Bytes()))
err = dec.Decode(&stu)
if err != nil {
    log.Fatal("decode error:", err)
}
Salin selepas log masuk
  1. JSON

JSON ialah format pertukaran data Tahap ringan, biasanya digunakan untuk bahagian hadapan dan pemindahan data hujung belakang di Web. Sokongan untuk format JSON juga disediakan dalam bahasa Go. Berbanding dengan gob, format JSON lebih fleksibel dan lebih sesuai untuk penghantaran data merentas bahasa. Walau bagaimanapun, memandangkan kaedah penghuraian JSON memerlukan sokongan penghurai tambahan, kecekapan mungkin lebih rendah sedikit daripada gob apabila menghuraikan struktur data yang lebih besar.

Cara menggunakan pensirilan JSON:

(1) Cipta struktur untuk disiri:

type Student struct {
    Name string `json:"name"`
    Age  int    `json:"age"`
    Sex  int    `json:"sex"`
}
Salin selepas log masuk

(2) Serialkan objek struktur:

var stu Student
buf, err := json.Marshal(stu)
if err != nil {
    log.Fatal("marshal error:", err)
}
Salin selepas log masuk

(3) Tukarkan strim bait bersiri kepada objek struktur:

var stu Student
err = json.Unmarshal(buf, &stu)
if err != nil {
    log.Fatal("unmarshal error:", err)
}
Salin selepas log masuk

3 Aplikasi pensirilan objek dan penyahsirian

Jurutan objek Pensirilan dan penyahserikan boleh digunakan pada senario yang berbeza, seperti: <.>

    Penyimpanan data
Apabila menyimpan data ke cakera atau pangkalan data, data boleh menjadi Serialisasi untuk menjimatkan ruang storan dan meningkatkan kecekapan membaca dan menulis.

    Transmisi rangkaian
Semasa penghantaran rangkaian, data boleh bersiri dan kemudian strim bait bersiri dihantar ke penerima Kemudian nyahsiri strim bait bersiri untuk mendapatkan data asal dan melengkapkan penghantaran data.

    Pertukaran data
Apabila memindahkan data antara aplikasi yang berbeza, memandangkan format data dan jenis data mungkin berbeza, data boleh disirikan menjadi format yang konsisten, dinyahsiri pada pihak penerima untuk mencapai pertukaran data.

4. Ringkasan

Bahasa Go menyediakan pelbagai cara untuk melaksanakan pensirilan objek dan penyahsirilan, yang setiap satunya mempunyai kelebihan dan kekurangan tersendiri dalam senario yang berbeza. Dalam penggunaan sebenar, kaedah yang sesuai harus dipilih mengikut situasi sebenar untuk meningkatkan kecekapan dan kebolehgunaan semula program.

Atas ialah kandungan terperinci Pensirilan objek dan penyahsirilan dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!