Rumah >pembangunan bahagian belakang >Golang >Cara membina aplikasi web menggunakan golang

Cara membina aplikasi web menggunakan golang

PHPz
PHPzasal
2023-04-13 18:31:351101semak imbas

Dalam beberapa tahun kebelakangan ini, bahasa Go (pendek kata golang) telah beransur-ansur menjadi kegemaran dalam bidang pembangunan web kerana kecekapan, kesederhanaan dan keselamatannya. Golang mudah dipelajari dan digunakan serta mempunyai pangkalan perpustakaan dan rangka kerja yang besar. Artikel ini akan memperkenalkan cara menggunakan golang untuk membina aplikasi web, termasuk tetapan penghalaan, pemprosesan templat, ORM, dsb.

  1. Pengenalan kepada bahasa Go

Bahasa Go ialah bahasa tersusun, yang dipengaruhi oleh bahasa C dan bahasa Pascal Ia mempunyai penaipan statik, pengumpulan sampah, pengaturcaraan serentak dan Pengaturcaraan tak segerak dan ciri lain. Pustaka standard Golang menyediakan pelbagai fungsi, termasuk rangkaian, penyulitan dan penyahsulitan, input dan output, dan banyak lagi. Selain itu, model konkurensi Golang mempunyai kelebihan unik, menjadikannya sangat sesuai untuk bidang pembangunan web.

  1. Membina Aplikasi Web

Membina aplikasi Web menggunakan Golang memerlukan komponen berikut:

  • Kerangka: Terdapat banyak rangka kerja yang tersedia untuk bahasa Pergi Pilih daripada pilihan seperti Gin, Beego dan Echo, antara lain.
  • Penghalaan: Penghalaan ialah komponen utama dalam aplikasi web, bertanggungjawab untuk mengawal hubungan pemetaan antara URL dan fungsi pemprosesan yang sepadan.
  • Enjin templat: Dalam pembangunan web, selalunya perlu untuk membenamkan data ke dalam halaman dalam HTML atau format lain, jadi enjin templat diperlukan untuk mengendalikan tugasan ini.
  • ORM: ORM ialah alat pemprosesan pangkalan data yang berkuasa.

Seterusnya kami akan menggunakan rangka kerja Gin untuk mencipta aplikasi web mudah dan memperkenalkan cara komponen di atas digunakan di dalamnya.

  1. Pasang rangka kerja Gin

Pertama, kita perlu memasang rangka kerja Gin menggunakan arahan berikut:

go get -u github.com/gin-gonic/gin

Arahan ini akan memuat turun Rangka kerja Gin daripada kod sumber Github dan pasangkannya ke dalam direktori $GOPATH/src/github.com/gin-gonic/gin.

  1. Membuat laluan

Mencipta laluan ialah langkah penting dalam aplikasi web kerana ia mentakrifkan pemetaan antara URL dan fungsi pemprosesan yang sepadan.

Dalam contoh ini, kami akan mencipta dua laluan:

  • "/": Tunjukkan halaman selamat datang
  • "/hello": Tunjukkan halaman Hello

Dalam fail main.go, kami boleh mentakrifkan dua laluan ini:

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")
}

Untuk mencipta laluan, kami menggunakan fungsi Default() rangka kerja Gin untuk mencipta enjin pemprosesan Laluan lalai, dan kemudian gunakan fungsi GET() pada enjin penghalaan untuk menentukan laluan.

  1. Enjin Templat

Kini kami telah mencipta dua laluan dan fungsi pemprosesan yang sepadan, tetapi nilai pulangan fungsi ini ialah data dalam format JSON, bukan halaman.

Untuk membenamkan data ini ke dalam halaman HTML, kita perlu menggunakan enjin templat. Golang mempunyai banyak enjin templat yang berbeza untuk dipilih, termasuk teks/templat asal Go dan html/templat, serta perpustakaan pihak ketiga.

Dalam contoh ini, kami akan menggunakan Templat Gin perpustakaan pihak ketiga. Untuk melakukan ini, kita perlu mencipta direktori templat dan mencipta dua fail templat welcome.html dan hello.html di dalamnya:

$ mkdir templates
$ cd templates
$ touch welcome.html hello.html

Dalam dua fail templat ini, kami akan menggunakan enjin templat bahasa go ( {{.}}) Benamkan pembolehubah yang sepadan ke dalam halaman HTML. Dalam welcome.html kami akan menambah halaman selamat datang yang ringkas:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Welcome to our website!</title>
</head>
<body>
    <h1>Welcome to our website!</h1>
</body>
</html>

Dalam hello.html kami akan menambah satu lagi halaman mudah:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello there!</title>
</head>
<body>
    <h1>Hello there!</h1>
</body>
</html>

Sekarang kami Kami bersedia untuk menggunakan Templat Gin untuk membenamkan kedua-dua fail templat ini ke dalam fungsi pemprosesan penghalaan kami.

Dalam fail main.go, kami akan menambah kod berikut:

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")
}

Di sini, kami menggunakan fungsi LoadHTMLGlob() yang disediakan oleh rangka kerja Gin untuk memuatkan fail templat. Kemudian, dalam fungsi pemprosesan penghalaan, kami menggunakan fungsi c.HTML() untuk menggabungkan fail templat dan data yang sepadan bersama-sama untuk memaparkan halaman.

  1. ORM

Dalam aplikasi web, data perlu disimpan dalam peranti storan yang berterusan. ORM (Pemetaan Hubungan Objek) ialah alat yang membolehkan pembangun memetakan jadual dan data dalam pangkalan data kepada objek dan kelas dalam atur cara.

Dalam contoh ini, kami akan menggunakan perpustakaan ORM gorm untuk menyambung ke pangkalan data dan melaksanakan operasi CRUD (Buat, Baca, Kemas Kini dan Padam).

Pertama, kita perlu memasang perpustakaan gorm menggunakan arahan berikut:

go get -u github.com/jinzhu/gorm

Seterusnya, kita boleh menggunakan perpustakaan gorm untuk melaksanakan pelbagai operasi pangkalan data dalam program. Sebagai contoh, kita boleh mencipta struct bernama User dan menyimpannya dalam pangkalan data:

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})
}

Di sini kita mencipta struct bernama User dan menggunakan AutoMigrate perpustakaan Gorm Fungsi () mencipta jadual bernama pengguna dalam pangkalan data. Kami kemudian menambah pengguna baharu pada pangkalan data menggunakan fungsi db.Create().

  1. Ringkasan

Dalam artikel ini, kami memperkenalkan cara membuat aplikasi web menggunakan Golang. Kami menggunakan Gin sebagai rangka kerja web dan menggunakan enjin templat Gin Templae untuk memaparkan halaman HTML. Kami juga menggunakan perpustakaan Gorm ORM untuk menyambung ke pangkalan data dan melaksanakan pelbagai operasi CRUD.

Ciri bahasa Go yang ringan, cekap dan selamat menjadikannya pilihan terbaik untuk pembangunan web. Pembangunan web menjadi lebih mudah dan cekap menggunakan Golang dan rangka kerja serta perpustakaan yang sepadan.

Atas ialah kandungan terperinci Cara membina aplikasi web menggunakan golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn