Heim Backend-Entwicklung Golang So erstellen Sie Webanwendungen mit Golang

So erstellen Sie Webanwendungen mit Golang

Apr 13, 2023 pm 06:31 PM

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.

  1. Einführung in die Go-Sprache

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.

  1. Erstellen einer Webanwendung

Das Erstellen einer Webanwendung mit Golang erfordert die folgenden Komponenten:

  • Framework: Die Go-Sprache verfügt über viele Frameworks zur Auswahl, z. B. Gin, Beego und Echo usw.
  • Routing: Routing ist eine Schlüsselkomponente in Webanwendungen und verantwortlich für die Steuerung der Zuordnungsbeziehung zwischen URLs und entsprechenden Verarbeitungsfunktionen.
  • Template-Engine: In der Webentwicklung ist es oft notwendig, Daten in Seiten in HTML oder anderen Formaten einzubetten, daher ist eine Template-Engine erforderlich, um diese Aufgaben zu bewältigen.
  • ORM: ORM ist ein leistungsstarkes Datenbankverarbeitungstool.

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.

  1. Installieren Sie das Gin-Framework

Zuerst müssen wir das Gin-Framework mit dem folgenden Befehl installieren:

go get -u github.com/gin-gonic/gin
Nach dem Login kopieren

Dieser Befehl lädt den Gin-Framework-Quellcode von Github herunter und installiert ihn unter $GOPATH/src/github.com /gin-gonic/gin-Verzeichnis.

  1. Eine Route erstellen

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:

  • "/": Zeigt die Willkommensseite an
  • "/hello": Zeigt die Hallo-Seite an

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")
}
Nach dem Login kopieren

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.

  1. Template Engine

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
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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")
}
Nach dem Login kopieren

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.

  1. ORM

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
Nach dem Login kopieren

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})
}
Nach dem Login kopieren

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.

  1. Zusammenfassung

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!

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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Was sind die Schwachstellen von Debian Openensl Was sind die Schwachstellen von Debian Openensl Apr 02, 2025 am 07:30 AM

OpenSSL bietet als Open -Source -Bibliothek, die in der sicheren Kommunikation weit verbreitet sind, Verschlüsselungsalgorithmen, Tasten und Zertifikatverwaltungsfunktionen. In seiner historischen Version sind jedoch einige Sicherheitslücken bekannt, von denen einige äußerst schädlich sind. Dieser Artikel konzentriert sich auf gemeinsame Schwachstellen und Antwortmaßnahmen für OpenSSL in Debian -Systemen. DebianopensL Bekannte Schwachstellen: OpenSSL hat mehrere schwerwiegende Schwachstellen erlebt, wie z. Ein Angreifer kann diese Sicherheitsanfälligkeit für nicht autorisierte Lesen sensibler Informationen auf dem Server verwenden, einschließlich Verschlüsselungsschlüssel usw.

Wie verwenden Sie das PPROF -Tool, um die Go -Leistung zu analysieren? Wie verwenden Sie das PPROF -Tool, um die Go -Leistung zu analysieren? Mar 21, 2025 pm 06:37 PM

In dem Artikel wird erläutert, wie das PPROF -Tool zur Analyse der GO -Leistung verwendet wird, einschließlich der Aktivierung des Profils, des Sammelns von Daten und der Identifizierung gängiger Engpässe wie CPU- und Speicherprobleme.Character Count: 159

Wie schreibt man Unit -Tests in Go? Wie schreibt man Unit -Tests in Go? Mar 21, 2025 pm 06:34 PM

In dem Artikel werden Schreiben von Unit -Tests in GO erörtert, die Best Practices, Spottechniken und Tools für ein effizientes Testmanagement abdecken.

Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Was ist das Problem mit Warteschlangen -Thread in Go's Crawler Colly? Apr 02, 2025 pm 02:09 PM

Das Problem der Warteschlange Threading In Go Crawler Colly untersucht das Problem der Verwendung der Colly Crawler Library in Go -Sprache. Entwickler stoßen häufig auf Probleme mit Threads und Anfordern von Warteschlangen. � ...

Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Welche Bibliotheken werden für die Operationen der schwimmenden Punktzahl in Go verwendet? Apr 02, 2025 pm 02:06 PM

In der Bibliothek, die für den Betrieb der Schwimmpunktnummer in der GO-Sprache verwendet wird, wird die Genauigkeit sichergestellt, wie die Genauigkeit ...

PostgreSQL -Überwachungsmethode unter Debian PostgreSQL -Überwachungsmethode unter Debian Apr 02, 2025 am 07:27 AM

In diesem Artikel werden eine Vielzahl von Methoden und Tools eingeführt, um PostgreSQL -Datenbanken im Debian -System zu überwachen, um die Datenbankleistung vollständig zu erfassen. 1. verwenden Sie PostgreSQL, um die Überwachungsansicht zu erstellen. PostgreSQL selbst bietet mehrere Ansichten für die Überwachung von Datenbankaktivitäten: PG_STAT_ACTIVITY: Zeigt Datenbankaktivitäten in Echtzeit an, einschließlich Verbindungen, Abfragen, Transaktionen und anderen Informationen. PG_STAT_REPLIKATION: Monitore Replikationsstatus, insbesondere für Stream -Replikationscluster. PG_STAT_DATABASE: Bietet Datenbankstatistiken wie Datenbankgröße, Transaktionsausschüsse/Rollback -Zeiten und andere Schlüsselindikatoren. 2. Verwenden Sie das Log -Analyse -Tool PGBADG

Was ist der Befehl go fmt und warum ist es wichtig? Was ist der Befehl go fmt und warum ist es wichtig? Mar 20, 2025 pm 04:21 PM

In dem Artikel wird der Befehl go fMT in Go -Programmierung erörtert, in dem Code formatiert werden, um offizielle Richtlinien für den Stil einzuhalten. Es zeigt die Bedeutung von GO FMT für die Aufrechterhaltung der Debatten mit Codekonsistenz, Lesbarkeit und Reduzierung von Stildebatten. Best Practices fo

Ist es vielversprechender, Java oder Golang von Front-End zu Back-End-Entwicklung zu verwandeln? Ist es vielversprechender, Java oder Golang von Front-End zu Back-End-Entwicklung zu verwandeln? Apr 02, 2025 am 09:12 AM

Backend Learning Path: Die Erkundungsreise von Front-End zu Back-End als Back-End-Anfänger, der sich von der Front-End-Entwicklung verwandelt, Sie haben bereits die Grundlage von Nodejs, ...

See all articles