Maison > développement back-end > Golang > protocole d'installation de Golang

protocole d'installation de Golang

WBOY
Libérer: 2023-05-21 16:38:39
original
2409 Les gens l'ont consulté

En tant que langage de programmation open source, les scénarios d'utilisation de Golang sont de plus en plus répandus et les programmes écrits en Golang doivent interagir avec d'autres programmes. Beaucoup de ces applications utilisent des tampons de protocole comme format de communication entre eux. Protocol Buffers est un protocole de sérialisation de données développé par Google qui peut encoder et décoder efficacement des structures de données complexes au format binaire.

Pour utiliser Protocol Buffers, nous devons installer le compilateur proto (protoc), qui est le compilateur de Protocol Buffers et est utilisé pour compiler les fichiers .proto en fichiers source pour divers langages de programmation, y compris Golang. Comment utiliser les tampons de protocole dans Golang et comment installer le protocole sera décrit en détail dans cet article.

Installer le protocole

Installer le protocole à partir du code source

Sur les systèmes Linux, nous pouvons télécharger le code source du protocole depuis GitHub, puis utiliser la commande suivante pour compiler et installer :

$ git clone https://github.com/google/protobuf
$ cd protobuf
$ ./autogen.sh && ./configure && make && sudo make install
Copier après la connexion

Sur Mac OS, nous pouvons utiliser Homebrew pour installer le protocole :

$ brew install protobuf
Copier après la connexion

Utilisez des binaires précompilés

Nous pouvons également télécharger des binaires précompilés depuis le site officiel de Protocol Buffers, afin que vous puissiez sauter l'étape de compilation du protocole et commencer à l'utiliser directement :

  1. Visitez [Protocole Buffers officiel site Web](https://github.com/protocolbuffers/protobuf/releases).
  2. Choisissez la version correspondante en fonction de votre système d'exploitation et de l'architecture de votre processeur, et téléchargez protoc-X.X.X-OS-ARCH.zip. protoc-X.X.X-OS-ARCH.zip
  3. 解压缩文件并将 bin/protoc 添加到系统路径中:export PATH=$PATH:/path/to/protoc/bin

在 Golang 中使用 Protocol Buffers

安装好了 protoc 之后,接下来就要在 Golang 中使用了。对于 Golang,要使用 Protocol Buffers 有两种方式:

  1. 手写 Protocol Buffers 描述文件,然后根据这个描述文件生成 Go 代码;
  2. 使用 protobuf 工具生成 Golang 代码,并在项目中使用这些生成的代码。

手写 Protocol Buffers 描述文件并生成 Go 代码

编写 .proto 文件

在使用 Protocol Buffers 之前,我们需要编写一个 .proto 文件,用来描述数据结构和消息的格式。下面是一个简单的例子:

syntax = "proto3";

package greet;

message HelloRequest {
  string name = 1;
}

message HelloReply {
  string message = 1;
}
Copier après la connexion
  • syntax = "proto3"; 表示我们使用的是 Protocol Buffers 的第三个版本。
  • package greet; 是 gRPC 所须的 package 名称。
  • message 是消息的定义,其中包含的字段名称和类型。
  • string name = 1;
  • Extrayez le fichier et ajoutez bin/protoc au chemin système : export PATH=$PATH:/path/to/protoc/bin.

Utilisation des tampons de protocole dans Golang

Après avoir installé le protocole, l'étape suivante consiste à l'utiliser dans Golang. Pour Golang, il existe deux façons d'utiliser les tampons de protocole :

Fichier de description des tampons de protocole écrit à la main, puis générez du code Go basé sur ce fichier de description ;

Utilisez l'outil protobuf pour générer du code Golang et utilisez ces codes générés ; dans le projet.

Écrivez manuellement le fichier de description des tampons de protocole et générez du code Go

Écrivez un fichier .proto

Avant d'utiliser les tampons de protocole, nous devons écrire un fichier .proto pour décrire la structure des données et le format du message. Voici un exemple simple :

$ protoc --go_out=. *.proto
Copier après la connexion

    syntax = "proto3"; signifie que nous utilisons la troisième version de Protocol Buffers.

    package greet; est le nom du package requis par gRPC.

    message est la définition du message, qui contient les noms et types de champs.

    string name = 1; signifie que le type de données du champ est une chaîne, le nom du champ est name et le numéro du champ est 1.

    Utilisez protoc pour compiler et générer du code Go

    🎜Après avoir écrit le fichier .proto, nous pouvons utiliser le compilateur protoc pour générer du code Go. Utilisez la commande suivante pour générer du code Go : 🎜
    $ go get -u github.com/golang/protobuf/protoc-gen-go
    Copier après la connexion
    🎜Cette commande compilera tous les fichiers .proto du répertoire courant en code Go et le générera dans le répertoire courant. 🎜🎜Utilisez l'outil protobuf pour générer du code Golang🎜🎜Nous pouvons également utiliser l'outil protobuf pour générer du code Golang L'outil protobuf est un outil de ligne de commande officiel qui peut générer automatiquement des codes pour nous dans divers langages de programmation basés sur . fichier prototype. 🎜🎜Installez l'outil protobuf🎜🎜Exécutez la commande suivante dans la ligne de commande pour installer l'outil protobuf :🎜
    $ protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative *.proto
    Copier après la connexion
    🎜Écrivez un fichier .proto🎜🎜De même, nous devons également écrire un fichier .proto pour décrire la structure des données et le message format. L'exemple ci-dessus est également utilisé ici. 🎜🎜Générer du code Golang basé sur le fichier .proto🎜🎜Utilisez la commande suivante pour générer du code Golang : 🎜rrreee🎜Cette commande générera le code Golang correspondant en fonction des messages, services et méthodes que vous avez définis dans le fichier .proto. 🎜🎜Nous avons présenté comment utiliser les tampons de protocole dans Golang et comment installer le protocole. En utilisant les tampons de protocole dans Golang, la transmission de données entre différents processus peut être facilement réalisée et l'efficacité de la communication peut être améliorée. 🎜

    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!

    source:php.cn
    Déclaration de ce site Web
    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
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal