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.
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
Sur Mac OS, nous pouvons utiliser Homebrew pour installer le protocole :
$ brew install protobuf
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 :
protoc-X.X.X-OS-ARCH.zip
. protoc-X.X.X-OS-ARCH.zip
。bin/protoc
添加到系统路径中:export PATH=$PATH:/path/to/protoc/bin
。安装好了 protoc 之后,接下来就要在 Golang 中使用了。对于 Golang,要使用 Protocol Buffers 有两种方式:
在使用 Protocol Buffers 之前,我们需要编写一个 .proto 文件,用来描述数据结构和消息的格式。下面是一个简单的例子:
syntax = "proto3"; package greet; message HelloRequest { string name = 1; } message HelloReply { string message = 1; }
syntax = "proto3";
表示我们使用的是 Protocol Buffers 的第三个版本。package greet;
是 gRPC 所须的 package 名称。message
是消息的定义,其中包含的字段名称和类型。string name = 1;
bin/protoc
au chemin système : export PATH=$PATH:/path/to/protoc/bin
. 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 .protoAvant 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
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
$ protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative *.proto
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!