Maison > Article > développement back-end > Introduction à Gob, l'outil de sérialisation de données Golang
L'outil de sérialisation de données Gob de Golang sérialise les structures de données dans des formats binaires pour le stockage et la transmission. Ses avantages incluent la facilité d’utilisation, la compatibilité multiplateforme et l’efficacité. Gob utilise la réflexion pour sérialiser et désérialiser les données et fournit des fonctions simples de sérialisation et de désérialisation.
Vue d'ensemble
Golang fournit un outil de sérialisation de données intégré appelé Gob, qui sérialise les structures de données au format binaire afin qu'elles puissent être utilisées sur le réseau ou sur le disque Store. et transférez facilement.
Comment ça marche
Gob utilise le mécanisme de réflexion pour analyser la structure des données et la convertir en un flux binaire binaire. Lors de la désérialisation, Gob analyse le flux binaire jusqu'à la structure de données d'origine.
Avantages
Syntaxe
Sérialisation :
import ( "bytes" "encoding/gob" ) func serialize(data interface{}) ([]byte, error) { buf := new(bytes.Buffer) enc := gob.NewEncoder(buf) err := enc.Encode(data) return buf.Bytes(), err }
Désérialisation :
func deserialize(data []byte) (interface{}, error) { buf := bytes.NewBuffer(data) dec := gob.NewDecoder(buf) var decodedData interface{} err := dec.Decode(&decodedData) return decodedData, err }
Cas pratique
Considérez la structure de personne suivante :
type Person struct { Name string Age int }
Pour utiliser la sérialisation et la désérialisation Gob Person, vous pouvez faire ceci :
func main() { jack := Person{Name: "Jack", Age: 42} // 序列化 serializedData, err := serialize(jack) if err != nil { panic(err) } // 反序列化 var deserializedPerson Person err = deserialize(serializedData) if err != nil { panic(err) } fmt.Println("Deserialized Person:", deserializedPerson) }
Sortie :
Deserialized Person: {Jack 42}
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!