Heim > Artikel > Backend-Entwicklung > So erstellen Sie Webanwendungen mit Golang
In den letzten Jahren hat sich die Go-Sprache (kurz Golang) aufgrund ihrer Effizienz, Einfachheit und Parallelitätssicherheit nach und nach zum Liebling der Webentwicklung entwickelt. Golang ist einfach zu erlernen und zu verwenden und verfügt über eine riesige Basis an Bibliotheken und Frameworks. In diesem Artikel wird erläutert, wie Sie mit Golang Webanwendungen erstellen, einschließlich Routing-Einstellungen, Vorlagenverarbeitung, ORM usw.
Go-Sprache ist eine kompilierte Sprache, die von der C-Sprache und der Pascal-Sprache beeinflusst ist und über Funktionen wie statische Typisierung, Garbage Collection, gleichzeitige Programmierung und asynchrone Programmierung verfügt. Die Standardbibliothek von Golang bietet eine Fülle von Funktionen, darunter Vernetzung, Ver- und Entschlüsselung, Ein- und Ausgabe und mehr. Darüber hinaus bietet das Parallelitätsmodell von Golang einzigartige Vorteile, wodurch es sich sehr gut für den Bereich der Webentwicklung eignet.
Das Erstellen einer Webanwendung mit Golang erfordert die folgenden Komponenten:
Als nächstes werden wir das Gin-Framework verwenden, um eine einfache Webanwendung zu erstellen und vorstellen, wie die oben genannten Komponenten darin verwendet werden.
Zuerst müssen wir das Gin-Framework mit dem folgenden Befehl installieren:
go get -u github.com/gin-gonic/gin
Dieser Befehl lädt den Gin-Framework-Quellcode von Github herunter und installiert ihn unter $GOPATH/src/github.com /gin-gonic/gin-Verzeichnis.
Die Erstellung einer Route ist ein wichtiger Schritt in einer Webanwendung, da sie die Zuordnung zwischen URLs und entsprechenden Verarbeitungsfunktionen definiert.
In diesem Beispiel erstellen wir zwei Routen:
In der Datei main.go können wir diese beiden Routings definieren :
package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Welcome to our website!", }) }) r.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello there!", }) }) r.Run(":8080") }
Um eine Route zu erstellen, verwenden wir die Funktion Default() des Gin-Frameworks, um eine Standard-Routenverarbeitungs-Engine zu erstellen, und verwenden dann die Funktion GET() auf der Routing-Engine, um die Route zu definieren.
Jetzt haben wir zwei Routen und entsprechende Verarbeitungsfunktionen erstellt, aber die Rückgabewerte dieser Funktionen sind Daten im JSON-Format, keine Seiten.
Um diese Daten in HTML-Seiten einzubetten, müssen wir eine Template-Engine verwenden. Golang verfügt über viele verschiedene Template-Engines zur Auswahl, darunter die nativen Text/Template- und HTML/Template-Engines von Go sowie Bibliotheken von Drittanbietern.
In diesem Beispiel verwenden wir die Gin-Vorlage der Drittanbieter-Bibliothek. Dazu müssen wir ein Vorlagenverzeichnis erstellen und darin zwei Vorlagendateien „welcome.html“ und „hello.html“ erstellen:
$ mkdir templates $ cd templates $ touch welcome.html hello.html
In diesen beiden Vorlagendateien verwenden wir die Go-Language-Template-Engine ({{.}}
), um die entsprechenden zu ändern Variablen HTML-Seite einbetten. In Welcome.html fügen wir eine einfache Willkommensseite hinzu:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Welcome to our website!</title> </head> <body> <h1>Welcome to our website!</h1> </body> </html>
In hello.html fügen wir eine weitere einfache Seite hinzu:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello there!</title> </head> <body> <h1>Hello there!</h1> </body> </html>
Jetzt sind wir bereit, diese beiden Vorlagendateien mit Gin Template Embedded in unserer Route-Handler-Funktion zu kombinieren .
In der main.go-Datei fügen wir den folgenden Code hinzu:
import ( "net/http" ) // ... func main() { r := gin.Default() // 模板设置 r.LoadHTMLGlob("templates/*") r.GET("/", func(c *gin.Context) { c.HTML(http.StatusOK, "welcome.html", gin.H{ "title": "Welcome", }) }) r.GET("/hello", func(c *gin.Context) { c.HTML(http.StatusOK, "hello.html", gin.H{ "title": "Hello", }) }) r.Run(":8080") }
Hier verwenden wir die vom Gin-Framework bereitgestellte LoadHTMLGlob()-Funktion, um die Vorlagendatei zu laden. Dann verwenden wir in der Routing-Verarbeitungsfunktion die Funktion c.HTML(), um die Vorlagendatei und die entsprechenden Daten zusammenzuführen, um die Seite zu rendern.
In einer Webanwendung müssen Daten auf einem dauerhaften Speichergerät gespeichert werden. ORM (Object Relational Mapping) ist ein Tool, mit dem Entwickler Tabellen und Daten in einer Datenbank Objekten und Klassen in einem Programm zuordnen können.
In diesem Beispiel verwenden wir die ORM-Bibliothek gorm, um eine Verbindung zur Datenbank herzustellen und CRUD-Vorgänge (Erstellen, Lesen, Aktualisieren und Löschen) auszuführen.
Zuerst müssen wir die Gorm-Bibliothek mit dem folgenden Befehl installieren:
go get -u github.com/jinzhu/gorm
Als nächstes können wir die Gorm-Bibliothek verwenden, um verschiedene Datenbankoperationen im Programm auszuführen. Zum Beispiel können wir eine Struktur namens „User“ erstellen und in der Datenbank speichern:
import ( "github.com/jinzhu/gorm" _ "github.com/jinzhu/gorm/dialects/mysql" ) type User struct { gorm.Model Name string Age int } // ... func main() { // 连接MySQL数据库 db, err := gorm.Open("mysql", "user:password@/dbname?charset=utf8&parseTime=True&loc=Local") if err != nil { panic("failed to connect database") } defer db.Close() // 创建数据库表 db.AutoMigrate(&User{}) // 新增一条数据 db.Create(&User{Name: "张三", Age: 30}) }
Hier haben wir eine Struktur namens „User“ erstellt und sie mithilfe der Funktion „AutoMigrate()“ der Gorm-Bibliothek in der Datenbank gespeichert. Eine Tabelle mit dem Namen „users“ ist erstellt. Anschließend haben wir mithilfe der Funktion db.Create() einen neuen Benutzer zur Datenbank hinzugefügt.
In diesem Artikel haben wir vorgestellt, wie man eine Webanwendung mit Golang erstellt. Wir verwendeten Gin als Webframework und nutzten die Template-Engine Gin Templae zur Darstellung von HTML-Seiten. Wir haben auch die Gorm ORM-Bibliothek verwendet, um eine Verbindung zur Datenbank herzustellen und verschiedene CRUD-Operationen durchzuführen.
Die leichten, effizienten und sicheren Funktionen der Go-Sprache machen sie zur besten Wahl für die Webentwicklung. Mit Golang und entsprechenden Frameworks und Bibliotheken wird die Webentwicklung einfacher und effizienter.
Das obige ist der detaillierte Inhalt vonSo erstellen Sie Webanwendungen mit Golang. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!