Heim > Artikel > Backend-Entwicklung > So installieren Sie Thrift in Golang
Golang ist eine Programmiersprache und Thrift ist ein effizientes sprachübergreifendes Kommunikationsframework. Wenn Sie Thrift in Golang verwenden möchten, müssen Sie es entsprechend installieren und konfigurieren. In diesem Artikel erfahren Sie, wie Sie Thrift in Golang installieren.
1. Umgebungsanforderungen
Bevor Sie Thrift installieren, müssen Sie sicherstellen, dass Sie die folgende Software installiert haben:
2. Installationsschritte
Zunächst müssen Sie Golang auf Ihrem System installieren. Sie können das entsprechende Installationspaket von der offiziellen Website herunterladen: https://golang.org/dl/.
Nachdem die Installation abgeschlossen ist, müssen Sie die Golang-Umgebungsvariablen festlegen. In Linux-Systemen müssen Sie den folgenden Inhalt in .bashrc (oder .profile) hinzufügen:
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT /bin:$PATH
In Windows-Systemen wird Golang standardmäßig im C:Go-Verzeichnis installiert. Sie müssen C:Gobin zu den Umgebungsvariablen des Systems hinzufügen.
Nach Abschluss der obigen Schritte können Sie den folgenden Befehl in die Befehlszeile eingeben, um zu überprüfen, ob Golang erfolgreich installiert wurde:
go-Version
Wenn Sie eine ähnliche Ausgabe sehen, dann herzlichen Glückwunsch, Sie haben Golang erfolgreich installiert.
go-Version go1.14.3 linux/amd64
Nachdem Sie die entsprechende Thrift-Binärdatei von der offiziellen Website heruntergeladen haben, müssen Sie sie dekomprimieren.
In Linux-Systemen können Sie zum Dekomprimieren den folgenden Befehl verwenden:
$ tar -xvf thrift-0.14.1.tar.gz
In Windows-Systemen können Sie zum Dekomprimieren eine Komprimierungssoftware verwenden.
Nachdem wir die Thrift-Binärdatei heruntergeladen und entpackt haben, müssen wir das Go-Thrift-Paket installieren. Geben Sie den folgenden Befehl in die Befehlszeile ein:
go get github.com/apache/thrift/lib/go/thrift
Dieser Befehl erstellt ein github.com/apache/thrift-Verzeichnis unter $GOPATH/src und platziert es dort Installieren Sie das go-thrift-Paket im Verzeichnis.
Bevor wir Thrift verwenden, müssen wir eine Thrift-Datei schreiben. Das Folgende ist der Beispielcode:
namespace go Tutorial
struct Request {
1: required string name, 2: required string message
}
service HelloWorld {
string sayHello(1: Request user)
}
Nachdem die Thrift-Datei geschrieben wurde, müssen wir sie generieren Golang-Code. Führen Sie den folgenden Befehl in der Befehlszeile aus:
thrift --gen go tutorial.thrift
Dieser Befehl generiert Golang-Code und platziert ihn im Verzeichnis gen-go/tutorial.
Der Prozess des Schreibens von Golang-Code ähnelt der gewöhnlichen Golang-Programmierung. Das Folgende ist der Beispielcode:
package main
import (
"fmt" "git.apache.org/thrift.git/lib/go/thrift" "tutorial/gen-go/tutorial"
)
type HelloWorld struct {
log map[int64]*tutorial.Request
}
func (h HelloWorld) sayHello(user tutorial.Request) (r string, err Fehler) {
fmt.Printf("sayHello(%v)\n", user) return fmt.Sprintf("Hello %s from %s", user.Name, user.Message), nil
}
func main() {
// 实现Handler handler := &HelloWorld{log: make(map[int64]*tutorial.Request)} processor := tutorial.NewHelloWorldProcessor(handler) // 配置Transport transportFactory := thrift.NewTBufferedTransportFactory(8192) protocolFactory := thrift.NewTBinaryProtocolFactoryDefault() // 启动Server serverTransport, err := thrift.NewTServerSocket(":9090") if err != nil { fmt.Println("Error!", err) return } server := thrift.NewTSimpleServer4( processor, serverTransport, transportFactory, protocolFactory, ) fmt.Println("Starting the server... on localhost:9090") server.Serve()
}
Nach dem Speichern des Golang-Codes können Sie den folgenden Befehl in der Befehlszeile ausführen, um den Code auszuführen:
go run main. go
An diesem Punkt haben Sie Golang und Thrift erfolgreich installiert und konfiguriert und grundlegenden Thrift-Code und Golang-Code geschrieben.
Das obige ist der detaillierte Inhalt vonSo installieren Sie Thrift in Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!