Bermula dengan Rangka Kerja Web Pembelajaran Golang
Jun 24, 2023 am 08:33 AMGolang 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
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
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
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.
- Pasang Gin
Anda boleh menggunakan arahan berikut untuk memasang rangka kerja Gin:
go get -u github.com/gin-gonic/gin
- 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!
- 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.
- 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!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Golang sesuai untuk pembangunan pesat dan senario serentak, dan C sesuai untuk senario di mana prestasi ekstrem dan kawalan peringkat rendah diperlukan. 1) Golang meningkatkan prestasi melalui pengumpulan sampah dan mekanisme konvensional, dan sesuai untuk pembangunan perkhidmatan web yang tinggi. 2) C mencapai prestasi muktamad melalui pengurusan memori manual dan pengoptimuman pengkompil, dan sesuai untuk pembangunan sistem tertanam.

Golang lebih baik daripada C dalam kesesuaian, manakala C lebih baik daripada Golang dalam kelajuan mentah. 1) Golang mencapai kesesuaian yang cekap melalui goroutine dan saluran, yang sesuai untuk mengendalikan sejumlah besar tugas serentak. 2) C Melalui pengoptimuman pengkompil dan perpustakaan standard, ia menyediakan prestasi tinggi yang dekat dengan perkakasan, sesuai untuk aplikasi yang memerlukan pengoptimuman yang melampau.

Laluan Pembelajaran Backend: Perjalanan Eksplorasi dari Front-End ke Back-End sebagai pemula back-end yang berubah dari pembangunan front-end, anda sudah mempunyai asas Nodejs, ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Matriks ini sukar difahami, tetapi ia mungkin berbeza jika anda melihatnya dari perspektif lain. Apabila belajar matematik, kita sering kecewa dengan kesukaran dan keabstrakan pengetahuan yang kita pelajari, tetapi kadang-kadang, hanya dengan mengubah perspektif, kita boleh mencari penyelesaian yang mudah dan intuitif untuk masalah itu. Sebagai contoh, semasa kita mempelajari formula untuk jumlah kuasa dua (a+b)2 semasa kita masih kanak-kanak, kita mungkin tidak faham mengapa ia sama dengan a2+2ab+b2 Kita hanya tahu bahawa ia ditulis seperti ini dalam buku dan guru meminta kami mengingatnya seperti ini; sehingga satu hari kami melihat saya melihat gambar animasi ini: Tiba-tiba saya sedar bahawa kita boleh memahaminya dari perspektif geometri! Sekarang, rasa pencerahan ini berlaku sekali lagi: matriks bukan negatif boleh ditukar secara sama kepada graf terarah yang sepadan! Seperti yang ditunjukkan dalam rajah di bawah, matriks 3×3 di sebelah kiri sebenarnya boleh

Golang lebih baik daripada Python dari segi prestasi dan skalabiliti. 1) Ciri-ciri jenis kompilasi Golang dan model konkurensi yang cekap menjadikannya berfungsi dengan baik dalam senario konvensional yang tinggi. 2) Python, sebagai bahasa yang ditafsirkan, melaksanakan perlahan -lahan, tetapi dapat mengoptimumkan prestasi melalui alat seperti Cython.

Pergi bahasa berfungsi dengan baik dalam membina sistem yang cekap dan berskala. Kelebihannya termasuk: 1. Prestasi Tinggi: Disusun ke dalam Kod Mesin, Kelajuan Berjalan Cepat; 2. Pengaturcaraan serentak: Memudahkan multitasking melalui goroutine dan saluran; 3. Kesederhanaan: sintaks ringkas, mengurangkan kos pembelajaran dan penyelenggaraan; 4. Cross-Platform: Menyokong kompilasi silang platform, penggunaan mudah.

Golang dan Python masing -masing mempunyai kelebihan mereka sendiri: Golang sesuai untuk prestasi tinggi dan pengaturcaraan serentak, sementara Python sesuai untuk sains data dan pembangunan web. Golang terkenal dengan model keserasiannya dan prestasi yang cekap, sementara Python terkenal dengan sintaks ringkas dan ekosistem perpustakaan yang kaya.
