Rumah >pembangunan bahagian belakang >Golang >Gob, pengekod data di Golang
Gob ialah pengekod data Golang yang boleh digunakan untuk mengekod dan menyahkod jenis data tersuai. Langkah pengekodan: perkenalkan pakej pengekodan/gob. Buat jenis tersuai yang melaksanakan antara muka GobEncoder. Gunakan gob.Encode() untuk mengekod data. Langkah penyahkodan: Buat jenis tersuai yang sepadan dengan jenis pengekodan. Gunakan gob.NewDecoder() untuk mencipta penyahkod. Gunakan Decode() untuk menyahkod data. Contoh praktikal: Mensiri jenis Orang ke dalam data binari dan mencetaknya ke output standard.
Gob: Pengekod Data di Golang
Golang menyediakan satu set fungsi yang berkuasa untuk pengekodan dan penyahkodan data. Salah satu pengekod ini, dipanggil Gob, amat berguna untuk pengekodan jenis data tersuai untuk penghantaran rangkaian.
Pengekodan menggunakan Gob
Untuk mengekod data menggunakan Gob, ikut langkah berikut:
Perkenalkan pakej encoding/gob
包:
import "encoding/gob"
创建一个实现了 GobEncoder
接口的自定义类型:
type Person struct { Name string Age int } func (p Person) GobEncode(w io.Writer) error { encoder := gob.NewEncoder(w) encoder.Encode(p.Name) encoder.Encode(p.Age) return nil }
使用 gob.Encode()
函数编码数据:
var p Person encoder := gob.NewEncoder(os.Stdout) encoder.Encode(p)
使用 Gob 进行解码
要使用 Gob 对数据进行解码,请执行以下步骤:
创建一个与编码类型匹配的自定义类型:
type Person struct { Name string Age int }
使用 gob.NewDecoder()
创建一个解码器:
decoder := gob.NewDecoder(r)
使用 Decode()
函数解码数据:
decoder.Decode(&p)
实战案例
以下是一个将 Person
类型序列化为二进制数据的实战案例:
package main import ( "encoding/gob" "fmt" "io" ) type Person struct { Name string Age int } func main() { var buf io.Writer = os.Stdout enc := gob.NewEncoder(buf) person := Person{Name: "John", Age: 30} enc.Encode(person) }
运行代码会将 Person
rrreee
Creee satu jenis tersuai laksanakan antara muka GobEncoder
:
gob.Encode()
untuk mengekod data: 🎜rrreee🎜 🎜Menyahkod menggunakan Gob🎜🎜🎜Untuk menyahkod data menggunakan Gob, ikut langkah berikut: 🎜🎜🎜🎜Buat jenis tersuai yang sepadan dengan jenis pengekodan: 🎜rrreee🎜🎜Gunakan Decode()
untuk menyahkod data: 🎜rrreee🎜🎜Kes pertempuran praktikal 🎜🎜🎜The berikut ialah kes praktikal untuk mensiri jenis Atas ialah kandungan terperinci Gob, pengekod data di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!