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
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.
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.
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.
Anda boleh menggunakan arahan berikut untuk memasang rangka kerja Gin:
go get -u github.com/gin-gonic/gin
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!
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:
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!