Maison  >  Article  >  développement back-end  >  installation du protobuf golang

installation du protobuf golang

WBOY
WBOYoriginal
2023-05-18 21:34:361158parcourir

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.

  1. Installer protobuf
    La version de protobuf utilisée par Golang doit d'abord être installée. Vous pouvez l'installer des manières suivantes :
#🎜🎜. #Téléchargez d'abord la version protobuf correspondante, l'adresse de téléchargement est : https://github.com/protocolbuffers/protobuf/releases

Prenez la version 3.18.0 de protobuf comme exemple, décompressez-la après le téléchargement : # 🎜🎜#
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
    Pour utiliser protobuf, vous devez installer le plug-in protobuf dans golang Vous pouvez l'installer via la commande suivante :

  1. go get -u github.com/golang/protobuf/protoc-gen-go
    #. 🎜🎜#Une fois l'installation terminée, vous pouvez vérifier si l'installation a réussi :
  2. which protoc-gen-go
    #🎜 🎜#Les informations suivantes s'affichent pour indiquer une installation réussie :
$GOPATH/bin/protoc-gen-go

Utilisez le plug-in golang protobuf

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 :

  1. La première étape consiste à écrire le fichier protobuf. Exemple :
    syntax = "proto3";
    
    message Person {
      string name = 1;
      int32 age = 2;
      string address = 3;
    }
  2. La deuxième étape consiste à utiliser le compilateur protobuf pour convertir le fichier protobuf en code golang :
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:idée construire GolangArticle suivant:idée construire Golang