Gob est un encodeur de données Golang qui peut être utilisé pour encoder et décoder des types de données personnalisés. Étape d'encodage : introduire le package encoding/gob. Créez un type personnalisé qui implémente l'interface GobEncoder. Utilisez gob.Encode() pour encoder les données. Étape de décodage : créez un type personnalisé qui correspond au type d’encodage. Utilisez gob.NewDecoder() pour créer un décodeur. Utilisez Decode() pour décoder les données. Exemple pratique : sérialisez le type Personne en données binaires et imprimez-le sur la sortie standard.
Gob : Encodeur de données dans Golang
Golang fournit un ensemble puissant de fonctions pour encoder et décoder les données. L'un de ces encodeurs, appelé Gob, est particulièrement utile pour encoder des types de données personnalisés pour la transmission réseau.
Encodage à l'aide de Gob
Pour encoder des données à l'aide de Gob, suivez ces étapes :
Introduisez le packageencoding/gob
: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
Créez un type personnalisé qui implémentez l'interfaceGobEncoder
:
gob.Encode()
pour encoder les données : rrreeeDécodage à l'aide de GobPour décoder des données à l'aide de Gob, suivez ces étapes : Créez un type personnalisé qui correspond au type d'encodage : rrreeeUtilisez
gob.NewDecoder() code> Créez un décodeur : rrreeeUtilisez la fonction Decode()
pour décoder les données : rrreeeCas de combat pratique Le Voici un cas pratique de sérialisation du type
Person
en données binaires : rrreeeL'exécution du code encodera le type
Person
en données binaires et l'imprimera sur la sortie standard. Gob Encoder est un outil efficace et facile à utiliser pour la transmission réseau ou le stockage persistant de types de données complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!