Rumah >pembangunan bahagian belakang >Golang >Pensirilan objek dan penyahsirilan dalam bahasa Go
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
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 }
(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) }
(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) }
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"` }
(2) Serialkan objek struktur:
var stu Student buf, err := json.Marshal(stu) if err != nil { log.Fatal("marshal error:", err) }
(3) Tukarkan strim bait bersiri kepada objek struktur:
var stu Student err = json.Unmarshal(buf, &stu) if err != nil { log.Fatal("unmarshal error:", err) }
3 Aplikasi pensirilan objek dan penyahsirian
Jurutan objek Pensirilan dan penyahserikan boleh digunakan pada senario yang berbeza, seperti: <.>
Atas ialah kandungan terperinci Pensirilan objek dan penyahsirilan dalam bahasa Go. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!