golang est un langage de programmation très populaire actuellement, et c'est également l'un des langages de programmation promus par Google. Google utilise protobuf (Protocol Buffers) pendant le processus de développement, donc golang fournit également une prise en charge pour protobuf. protobuf est un protocole léger de sérialisation de données qui peut être utilisé pour l'échange et la persistance de données. L'utilisation de protobuf dans Golang peut améliorer les performances du programme et le rendre plus stable. Cet article présentera la méthode d'installation de Golang Protobuf.
tar -xzf protobuf-all-3.18.0.tar.gz cd protobuf-3.18.0
Entrez dans le répertoire protobuf et exécutez la commande suivante pour installer :
./configure make make check sudo make install sudo ldconfig # refresh shared library cache.
Remarque : Si vous rencontrez "libtool: install: /usr/bin/install -c .libs/ x86_64-linux-gnu/libprotobuf.so.25.0.0 /usr/local/lib/libprotobuf.so.25.0.0" peut être ignoré.
Une fois l'installation terminée, exécutez la commande suivante pour vérifier :
protoc --version
Les informations suivantes s'affichent pour indiquer une installation réussie :
libprotoc 3.18.0
Installez le plug-in golang protobuf
go get -u github.com/golang/protobuf/protoc-gen-go
which protoc-gen-go
$GOPATH/bin/protoc-gen-go
Après avoir installé le plug-in protobuf, vous pouvez utiliser le package protobuf de golang. Le processus de conversion des fichiers protobuf écrits en golang en code golang et de leur utilisation est le suivant :
syntax = "proto3"; message Person { string name = 1; int32 age = 2; string address = 3; }
protoc --go_out=. person.proto
Après l'exécution, le fichier person.pb.go sera généré. Le contenu est le suivant :
package main import ( "fmt" "github.com/golang/protobuf/proto" ) type Person struct { Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` Age int32 `protobuf:"varint,2,opt,name=age,proto3" json:"age,omitempty"` Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` } func main() { person := &Person{ Name: "John", Age: 25, Address: "New york", } data, _ := proto.Marshal(person) fmt.Println(data) newperson := &Person{} _ = proto.Unmarshal(data, newperson) fmt.Printf("Name: %s, Age: %d, Address: %s ", newperson.Name, newperson.Age, newperson.Address) }
La troisième étape consiste à utiliser le code généré pour le développement. Dans la fonction principale, sérialisez et désérialisez l'objet Person et affichez-le.
Résumé :
Lorsque vous utilisez protobuf dans golang, vous devez d'abord installer protobuf et le plug-in golang protobuf. En écrivant un fichier protobuf, utilisez le compilateur protobuf pour le convertir en code golang et utilisez-le. L'utilisation de protobuf peut rendre les performances du programme plus élevées et plus stables.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!