Golang ist eine Programmiersprache mit hoher Effizienz und hoher Parallelität. Immer mehr Entwickler beginnen, Golang zum Erstellen verschiedener Arten von Anwendungen zu verwenden. Unter diesen ist die Webanwendung eines der häufigsten Anwendungsszenarien in Golang. In diesem Artikel werden einige häufig verwendete Web-Frameworks in Golang und ihre grundlegende Verwendung vorgestellt.
1. Common Golang Web Framework
Gin ist ein schnelles und effizientes Web-Framework, das umfangreiche Funktionen bietet und eine gute Leistung bietet. Das API-Design von Gin ist einfach und leicht zu verstehen, sodass Gin sich sehr gut zum Erstellen von REST-APIs und Microservice-Anwendungen eignet. Gin bietet allgemeine Webfunktionen wie Middleware, Routing-Gruppierung und JSON/XML-Serialisierung.
Beego ist ein vollständiges Web-Framework, das gängige Webkomponenten wie Routing, Middleware, Vorlagenrendering und ORM umfasst und eine Reihe von Funktionen bereitstellt, die für die Entwicklung von Webanwendungen erforderlich sind. Beego kann problemlos umfangreiche Webanwendungen erstellen und unterstützt RESTful API, Websocket und andere Funktionen.
Echo ist ein leichtes, leistungsstarkes und einfach zu erweiterndes Webframework, das Standardbibliotheken und einige Pakete von Drittanbietern verwendet, um einige Funktionen bereitzustellen, einschließlich Routing, Middleware, Vorlagenrendering usw. Die Leistung von Echo ist sehr gut und es eignet sich sehr gut zum Erstellen von RESTful-APIs und Microservices.
2. Erste Schritte mit dem Gin-Framework
Wir wählen Gin als erstes Framework, das wir vorstellen möchten. Lassen Sie uns sehen, wie man Gin zum Erstellen einer einfachen Webanwendung verwendet.
Sie können den folgenden Befehl verwenden, um das Gin-Framework zu installieren:
go get -u github.com/gin-gonic/gin
Hier ist ein Beispiel für Hello World, das mit dem Gin-Framework erstellt wurde:
package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.String(200, "Hello, world!") }) r.Run() }
Zuerst importieren wir das Paket des Gin-Frameworks. Dann erstellen wir eine Gin-Instanz und registrieren eine GET-Route, die die Zeichenfolge „Hello, world!“ zurückgibt. Schließlich verwenden wir die Run-Methode, um unsere Webanwendung zu starten und den Port abzuhören.
Mit Curl unsere Anwendung anfordern:
$ curl http://localhost:8080/ Hello, world!
Routing ist die Kernkomponente einer Webanwendung, die Anforderungen mit Handlerfunktionen verknüpft.
Das Folgende ist ein einfaches Beispiel:
package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/ping", func(c *gin.Context) { c.String(200, "pong") }) r.GET("/hello/:name", func(c *gin.Context) { name := c.Param("name") c.String(200, "Hello, %s", name) }) r.POST("/login", func(c *gin.Context) { username := c.PostForm("username") password := c.PostForm("password") c.JSON(200, gin.H{"username": username, "password": password}) }) r.Run() }
Wir verwenden drei Routen:
Middleware ist eine wichtige Funktion des Gin-Frameworks, die Vorgänge ausführen kann, bevor und nachdem die Anfrage den Handler erreicht.
Hier ist ein Beispiel für die Verwendung der Gin-Middleware:
package main import ( "fmt" "github.com/gin-gonic/gin" "time" ) func CustomMiddleware() gin.HandlerFunc { return func(c *gin.Context) { t := time.Now() fmt.Println("Starting middleware") c.Set("request_time", t) c.Next() fmt.Println("Ending middleware") latency := time.Since(t) fmt.Printf("Latency: %v ", latency) } } func main() { r := gin.Default() r.Use(CustomMiddleware()) r.GET("/", func(c *gin.Context) { c.String(200, "Hello, world!") }) r.Run() }
Wir haben eine Middleware-Funktion namens CustomMiddleware erstellt, die die Startzeit der Anfrage aufzeichnet, die Anfrage dann an die Handlerfunktion übergibt und das Ende der Anfrage verarbeitet, wenn sie fertig ist.
Wir haben die Middleware bei unserer Gin-Instanz registriert und eine einfache Handler-Funktion in der Root-Route verwendet, um einen „Hello, world!“-String zurückzugeben.
Wenn wir unsere Anwendung ausführen, sehen wir den Middleware-Datensatz in der Ausgabe:
Starting middleware Ending middleware Latency: 277.1µs
3. Zusammenfassung
In diesem Artikel werden drei häufig verwendete Web-Frameworks in Golang kurz vorgestellt: Gin, Beego und Echo. Wir haben auch gezeigt, wie man mit dem Gin-Framework eine einfache Webanwendung erstellt und wie man Routing und Middleware verwendet.
Das Erlernen der Golang-Webentwicklung ist untrennbar mit dem Erlernen von Web-Frameworks verbunden. Allerdings zielen unterschiedliche Web-Frameworks auf unterschiedliche Anwendungsszenarien und Anforderungen ab, und Entwickler müssen basierend auf der tatsächlichen Situation das Framework auswählen, das am besten zu ihnen passt.
Das obige ist der detaillierte Inhalt vonErste Schritte mit dem Golang Learning Web Framework. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!