Rumah >pembangunan bahagian belakang >Golang >Gob, pengekod data di Golang

Gob, pengekod data di Golang

王林
王林asal
2024-04-07 14:48:02997semak imbas

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

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:

  1. Perkenalkan pakej pengekodan/gob: encoding/gob 包:

    import "encoding/gob"
  2. 创建一个实现了 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
    }
  3. 使用 gob.Encode() 函数编码数据:

    var p Person
    encoder := gob.NewEncoder(os.Stdout)
    encoder.Encode(p)

使用 Gob 进行解码

要使用 Gob 对数据进行解码,请执行以下步骤:

  1. 创建一个与编码类型匹配的自定义类型:

    type Person struct {
     Name string
     Age  int
    }
  2. 使用 gob.NewDecoder() 创建一个解码器:

    decoder := gob.NewDecoder(r)
  3. 使用 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)
}

运行代码会将 Personrrreee

Creee satu jenis tersuai laksanakan antara muka GobEncoder:

rrreee🎜🎜Gunakan fungsi 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 gob.NewDecoder()() kod> Cipta penyahkod: 🎜rrreee🎜🎜Gunakan fungsi Decode() untuk menyahkod data: 🎜rrreee🎜🎜Kes pertempuran praktikal 🎜🎜🎜The berikut ialah kes praktikal untuk mensiri jenis Orang ke dalam data binari: 🎜rrreee🎜Menjalankan kod akan mengekod jenis Orang ke dalam data binari dan mencetaknya ke output standard. 🎜🎜Gob Encoder ialah alat yang cekap dan mudah digunakan untuk penghantaran rangkaian atau penyimpanan berterusan jenis data yang kompleks. 🎜

Atas ialah kandungan terperinci Gob, pengekod data di Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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