Heim > Backend-Entwicklung > Golang > Detaillierte Erklärung, wie Golang Protobuf verwendet

Detaillierte Erklärung, wie Golang Protobuf verwendet

Freigeben: 2020-01-15 17:28:15
nach vorne
3359 Leute haben es durchsucht

Detaillierte Erklärung, wie Golang Protobuf verwendet

1. Laden Sie das Protobuf-Compiler-Protokoll herunter

Adresse: https://github.com/google/protobuf/releases

Fenster:

Herunterladen: protoc-3.3.0-win32.zip

Entpacken, protoc.exe im bin-Verzeichnis nach GOPATH/bin kopieren und GOPATH/bin zur Umgebungsvariablen hinzufügen.

Natürlich kann es auch in anderen Verzeichnissen abgelegt werden. Sie müssen Umgebungsvariablen hinzufügen, damit das System protoc.exe finden kann

Linux:

Download: protoc -3.3.0-linux- Entpacken Sie x86_64.zip oder protoc-3.3.0-linux-x86_32.zip

, kopieren Sie das Protokoll im bin-Verzeichnis nach GOPATH/bin und fügen Sie GOPATH/bin zur Umgebung hinzu Variable.

Wenn Sie kompilieren und installieren möchten, können Sie auch den Quellcode herunterladen und selbst installieren und schließlich die ausführbare Datei zur Umgebungsvariablen hinzufügen.

2. Holen Sie sich das Protobuf-Compiler-Plug-in protoc-gen-go

Geben Sie das GOPATH-Verzeichnis ein

führen Sie

> go get -u github.com/golang/protobuf/protoc-gen-go
Nach dem Login kopieren
aus

Bei Erfolg wird es sein in GOPATH/bin Generieren Sie die Datei protoc-gen-go.exe

3. Erstellen Sie eine test.proto-Datei

//指定版本
//注意proto3与proto2的写法有些不同
syntax = "proto3";
 
//包名,通过protoc生成时go文件时
package test;
 
//手机类型
//枚举类型第一个字段必须为0
enum PhoneType {
    HOME = 0;
    WORK = 1;
}
 
//手机
message Phone {
    PhoneType type = 1;
    string number = 2;
}
 
//人
message Person {
    //后面的数字表示标识号
    int32 id = 1;
    string name = 2;
    //repeated表示可重复
    //可以有多个手机
    repeated Phone phones = 3;
}
 
//联系簿
message ContactBook {
    repeated Person persons = 1;
}
Nach dem Login kopieren

. Führen Sie zum Generieren den folgenden Befehl aus:

> protoc --go_out=. *.proto
Nach dem Login kopieren

eine test.pb. go-Datei

5. Verwenden Sie protobuf

in

go-SpracheDetaillierte Erklärung, wie Golang Protobuf verwendetfür weitere go-Sprachkenntnisse achten Sie bitte auf PHP-chinesische WebsiteGo-Sprach-TutorialSpalte.

Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung, wie Golang Protobuf verwendet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage