Sebagai bahasa pengaturcaraan, bahasa Go telah digunakan secara meluas dalam pelbagai projek. Ia disukai oleh banyak pembangun kerana kecekapan, kelajuan dan kesederhanaannya. Artikel ini akan mengesyorkan beberapa projek bahasa Go yang sangat baik kepada semua orang dan memberikan contoh kod khusus.
[Gorilla Mux](https://github.com/gorilla/mux) ialah penghala HTTP bahasa Go yang berkuasa. Ia menyokong padanan URL berasaskan ungkapan biasa, serta peraturan padanan penghalaan yang fleksibel. Berikut ialah contoh mudah yang menunjukkan cara menggunakan Gorilla Mux untuk mencipta pelayan HTTP mudah dan mentakrifkan beberapa laluan:
package main import ( "net/http" "github.com/gorilla/mux" ) func main() { r := mux.NewRouter() r.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte("Welcome to our website!")) }) r.HandleFunc("/products/{category}/{id:[0-9]+}", func(w http.ResponseWriter, r *http.Request) { vars := mux.Vars(r) w.Write([]byte("Category: " + vars["category"] + ", ID: " + vars["id"])) }) http.Handle("/", r) http.ListenAndServe(":8000", nil) }
[Gorm](https://gorm.io/) ialah perpustakaan ORM bahasa Go yang sangat baik untuk memudahkan interaksi dengan pangkalan data hubungan. Ia menyokong pelbagai pangkalan data, termasuk MySQL, PostgreSQL, SQLite, dll. Berikut ialah contoh mudah yang menunjukkan cara menggunakan Gorm untuk menyambung ke pangkalan data MySQL dan melakukan operasi tambah, padam, ubah suai dan pertanyaan yang mudah:
package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type Product struct { ID uint Name string Price float64 } func main() { dsn := "username:password@tcp(localhost:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { fmt.Println("Failed to connect to database") return } db.AutoMigrate(&Product{}) // Create db.Create(&Product{Name: "Apple", Price: 1.5}) // Read var product Product db.First(&product, 1) // find product with id 1 fmt.Println(product) // Update db.Model(&product).Update("Price", 2.0) // Delete db.Delete(&product) }
[Gin](https://gin-gonic.com/) ialah rangka kerja web HTTP yang ringan dengan prestasi cemerlang dan kemudahan penggunaan. Berikut ialah contoh mudah yang menunjukkan cara menggunakan Gin untuk mencipta pelayan HTTP yang mudah dan mentakrifkan beberapa laluan:
package main import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() r.GET("/", func(c *gin.Context) { c.String(200, "Welcome to our website!") }) r.GET("/hello/:name", func(c *gin.Context) { name := c.Param("name") c.String(200, "Hello "+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(":8000") }
Projek yang disyorkan di atas adalah semua alatan yang sangat praktikal dalam proses pembangunan bahasa Go. Saya harap ia boleh berguna kepada mereka yang sedang belajar atau Pembangun menggunakan bahasa Go memberikan bantuan. Jika berminat, anda boleh mendalami lebih banyak ciri dan penggunaan item ini.
Atas ialah kandungan terperinci Mengesyorkan projek bahasa Go yang cemerlang terpilih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!