Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bermula dengan Rangka Kerja Web Pembelajaran Golang

Bermula dengan Rangka Kerja Web Pembelajaran Golang

王林
王林asal
2023-06-24 08:33:222019semak imbas

Golang ialah bahasa pengaturcaraan dengan kecekapan tinggi dan keselarasan tinggi Semakin ramai pembangun mula menggunakan Golang untuk membina pelbagai jenis aplikasi. Antaranya, aplikasi web adalah salah satu senario aplikasi yang paling biasa di Golang Artikel ini akan memperkenalkan beberapa rangka kerja web yang biasa digunakan di Golang dan penggunaan asasnya.

1. Rangka kerja Web Golang biasa

  1. Gin

Gin ialah rangka kerja Web yang pantas dan cekap yang menyediakan fungsi yang kaya dan mempunyai prestasi yang sangat baik. Reka bentuk API Gin adalah ringkas dan mudah difahami, jadi Gin sangat sesuai untuk membina API REST dan aplikasi perkhidmatan mikro. Gin menyediakan fungsi Web biasa seperti middleware, kumpulan penghalaan, dan siri JSON/XML.

  1. Beego

Beego ialah rangka kerja Web yang lengkap, yang merangkumi komponen Web biasa seperti penghalaan, perisian tengah, pemaparan templat, ORM, dsb., dan menyediakan aplikasi Web A set fungsi yang diperlukan untuk pembangunan program. Beego boleh membina aplikasi web berskala besar dengan mudah dan menyokong API RESTful, Websocket dan ciri lain.

  1. Echo

Echo ialah rangka kerja web yang ringan, berprestasi tinggi, mudah dilanjutkan yang menggunakan perpustakaan standard dan beberapa pakej pihak ketiga untuk menyediakan beberapa fungsi. Termasuk penghalaan, perisian tengah, pemaparan templat, dsb. Prestasi Echo sangat baik dan ia sangat sesuai untuk membina API RESTful dan perkhidmatan mikro.

2. Bermula dengan rangka kerja Gin

Kami memilih Gin sebagai rangka kerja pertama untuk diperkenalkan. Mari kita lihat cara menggunakan Gin untuk membina aplikasi web yang ringkas.

  1. Pasang Gin

Anda boleh menggunakan arahan berikut untuk memasang rangka kerja Gin:

go get -u github.com/gin-gonic/gin
  1. Hello World

Berikut ialah contoh Hello World yang dibuat menggunakan rangka kerja Gin:

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

Mula-mula, kami mengimport pakej rangka kerja Gin. Kemudian, kami mencipta contoh Gin dan mendaftarkan laluan GET yang mengembalikan rentetan "Hello, dunia!". Akhir sekali, kami menggunakan kaedah Run untuk memulakan aplikasi web kami dan mendengar pada port.

Menggunakan curl untuk meminta aplikasi kami:

$ curl http://localhost:8080/
Hello, world!
  1. Penghalaan

Penghalaan ialah komponen teras aplikasi web yang menghubungkan permintaan kepada fungsi pengendali yang berkaitan.

Berikut ialah contoh mudah:

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

Kami menggunakan tiga laluan:

  • /laluan ping, yang mengembalikan rentetan "pong"
  • The
  • /hello/:name route menerima nama parameter dan mengembalikan rentetan "Hello, name"; laluan
  • /log masuk menerima permintaan POST dan mengembalikan nama pengguna dan kata laluan yang diminta.
  1. Middleware

Middleware ialah ciri penting rangka kerja Gin yang boleh melakukan operasi sebelum dan selepas permintaan sampai kepada pengendali.

Berikut ialah contoh menggunakan middleware Gin:

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

Kami mencipta fungsi middleware yang dipanggil CustomMiddleware yang merekodkan masa mula permintaan dan kemudian menghantar permintaan kepada fungsi pengendali dan berakhir selepas pemprosesan permintaan selesai.

Kami mendaftarkan perisian tengah dengan contoh Gin kami dan menggunakan fungsi pengendali mudah dalam laluan akar untuk mengembalikan rentetan "Hello, dunia!"

Apabila kami menjalankan aplikasi kami, kami akan melihat rekod middleware dalam output:

Starting middleware
Ending middleware
Latency: 277.1µs

3 Ringkasan

Artikel ini memperkenalkan secara ringkas rangka kerja web Golang Three. : Gin, Beego dan Echo. Kami juga menunjukkan cara membuat aplikasi web mudah menggunakan rangka kerja Gin dan menunjukkan cara menggunakan penghalaan dan perisian tengah.

Pembelajaran pembangunan Web Golang tidak dapat dipisahkan daripada pembelajaran rangka kerja Web. Walau bagaimanapun, rangka kerja web yang berbeza menyasarkan senario dan keperluan aplikasi yang berbeza, dan pembangun perlu memilih rangka kerja yang paling sesuai untuk mereka berdasarkan situasi sebenar.

Atas ialah kandungan terperinci Bermula dengan Rangka Kerja Web Pembelajaran 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