Heim >Backend-Entwicklung >Golang >Golang-Installationsprotokoll
Als Open-Source-Programmiersprache werden die Verwendungsszenarien von Golang immer weiter verbreitet, und in Golang geschriebene Programme müssen mit anderen Programmen interagieren. Viele dieser Anwendungen verwenden Protokollpuffer als Kommunikationsformat zwischen ihnen. Protocol Buffers ist ein von Google entwickeltes Datenserialisierungsprotokoll, das komplexe Datenstrukturen im Binärformat effizient kodieren und dekodieren kann.
Um Protocol Buffers verwenden zu können, müssen wir den Proto-Compiler (protoc) installieren, der der Compiler von Protocol Buffers ist und zum Kompilieren von .proto-Dateien in Quelldateien für verschiedene Programmiersprachen, einschließlich Golang, verwendet wird. In diesem Artikel wird ausführlich beschrieben, wie Sie Protokollpuffer in Golang verwenden und Protokoll installieren.
Auf Linux-Systemen können wir den Quellcode des Protokolls von GitHub herunterladen und dann den folgenden Befehl zum Kompilieren und Installieren verwenden:
$ git clone https://github.com/google/protobuf $ cd protobuf $ ./autogen.sh && ./configure && make && sudo make install
Auf Mac OS können wir Homebrew verwenden So installieren Sie das Protokoll:
$ brew install protobuf
Wir können auch vorkompilierte Binärdateien von der offiziellen Website von Protocol Buffers herunterladen, sodass Sie den Schritt des Kompilierens des Protokolls überspringen und direkt mit der Verwendung beginnen können:
protoc-X.X.X-OS-ARCH.zip
herunter. 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
zum Systempfad hinzu: export PATH=$PATH:/path/to/protoc/bin
. Nach der Installation von Protoc besteht der nächste Schritt darin, es in Golang zu verwenden. Für Golang gibt es zwei Möglichkeiten, Protokollpuffer zu verwenden:
Handschreiben Sie die Protokollpuffer-Beschreibungsdatei und generieren Sie dann Go-Code basierend auf dieser Beschreibungsdatei. Verwenden Sie das Protobuf-Tool, um Golang-Code zu generieren, und verwenden Sie diese generierten Codes das Projekt. Schreiben Sie die Protokollpuffer-Beschreibungsdatei von Hand und generieren Sie Go-Code. Schreiben Sie eine .proto-Datei.Bevor Sie Protokollpuffer verwenden, müssen wir eine .proto-Datei schreiben, um die Datenstruktur und das Nachrichtenformat zu beschreiben. Hier ist ein einfaches Beispiel:$ protoc --go_out=. *.proto
syntax = "proto3";
bedeutet, dass wir die dritte Version von Protocol Buffers verwenden.
packagegreet;
ist der für gRPC erforderliche Paketname.
message
ist die Definition der Nachricht, die die Feldnamen und -typen enthält.
string name = 1;
bedeutet, dass der Datentyp des Feldes string ist, der Feldname name ist und die Feldnummer 1 ist.
Verwenden Sie Protoc, um Go-Code zu kompilieren und zu generieren.
🎜Nachdem wir die .proto-Datei geschrieben haben, können wir den Protoc-Compiler verwenden, um Go-Code zu generieren. Verwenden Sie den folgenden Befehl, um Go-Code zu generieren: 🎜$ go get -u github.com/golang/protobuf/protoc-gen-go🎜Dieser Befehl kompiliert alle .proto-Dateien im aktuellen Verzeichnis in Go-Code und generiert ihn im aktuellen Verzeichnis. 🎜🎜Verwenden Sie das Protobuf-Tool, um Golang-Code zu generieren. 🎜🎜Wir können das Protobuf-Tool auch zum Generieren von Golang-Code verwenden. Das Protobuf-Tool ist ein offizielles Befehlszeilentool, das für uns automatisch Codes in verschiedenen Programmiersprachen generieren kann. Proto-Datei. 🎜🎜Installieren Sie das Protobuf-Tool.🎜🎜Führen Sie den folgenden Befehl in der Befehlszeile aus, um das Protobuf-Tool zu installieren:🎜
$ protoc --go_out=. --go-grpc_out=. --go_opt=paths=source_relative *.proto🎜Schreiben Sie eine .proto-Datei.🎜🎜Ebenso müssen wir auch eine .proto-Datei schreiben, um die Datenstruktur und die Nachricht zu beschreiben Format. Auch hier wird das obige Beispiel verwendet. 🎜🎜Generieren Sie Golang-Code basierend auf der .proto-Datei.🎜🎜Verwenden Sie den folgenden Befehl, um Golang-Code zu generieren: 🎜rrreee🎜Dieser Befehl generiert den entsprechenden Golang-Code basierend auf den Nachrichten, Diensten und Methoden, die Sie in der .proto-Datei definiert haben. 🎜🎜Wir haben die Verwendung von Protokollpuffern in Golang und die Installation von Protokollen vorgestellt. Durch die Verwendung von Protokollpuffern in Golang kann die Datenübertragung zwischen verschiedenen Prozessen einfach realisiert und die Kommunikationseffizienz verbessert werden. 🎜
Das obige ist der detaillierte Inhalt vonGolang-Installationsprotokoll. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!