Artikel ini akan memperkenalkan beberapa alatan yang biasa digunakan untuk pembangunan web dalam pembelajaran Golang Alat ini boleh membantu anda membangunkan dan menggunakan aplikasi web dengan lebih cekap.
Gin ialah rangka kerja Web yang pantas, fleksibel dan minimalis yang menyediakan banyak fungsi berguna, seperti perisian tengah, fungsi penghalaan, dan pengendalian ralat dsb., membuat pembangunan aplikasi Web lebih mudah. Gin mengguna pakai ciri berprestasi tinggi bahasa Go dan boleh digunakan untuk membina aplikasi web dengan konkurensi tinggi dan prestasi tinggi.
Penggunaan Gin adalah sangat mudah Anda hanya perlu menggunakan perintah go get untuk memasangnya, dan kemudian import Gin dalam kod untuk mula menggunakannya. Contohnya:
package main import "github.com/gin-gonic/gin" func main() { router := gin.Default() router.GET("/", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, World!", }) }) router.Run() }
Kod di atas mencipta pelayan HTTP mudah yang bertindak balas kepada permintaan GET untuk laluan akar. Perisian tengah lalai Gin dan fungsi penghalaan digunakan di sini, dan lebih banyak fungsi boleh disesuaikan untuk memenuhi lebih banyak keperluan.
Gorm ialah rangka kerja ORM ringan berdasarkan Golang Ia menyediakan banyak fungsi berguna, seperti pertanyaan pangkalan data, struktur jadual disegerakkan, sisipan, Kemas kini, padam, dsb. Rangka kerja boleh berinteraksi dengan pelbagai pangkalan data hubungan, seperti MySQL, PostgreSQL, SQLite, dll.
Penggunaan Gorm juga sangat mudah Anda hanya perlu menggunakan arahan go get untuk memasangnya, dan kemudian import Gorm dalam kod untuk mula menggunakannya. Contohnya:
package main import ( "gorm.io/driver/mysql" "gorm.io/gorm" "log" ) type User struct { gorm.Model Name string Age int } func main() { dsn := "user:password@tcp(127.0.0.1:3306)/test?charset=utf8mb4&parseTime=True&loc=Local" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { log.Fatal(err) } // 自动同步表结构 db.AutoMigrate(&User{}) // 插入数据 user := &User{Name: "张三", Age: 18} db.Create(user) // 查询数据 var users []*User db.Find(&users) for _, u := range users { log.Println(u.Name, u.Age) } }
Kod di atas menggunakan Gorm untuk mengendalikan pangkalan data MySQL, mentakrifkan struktur Pengguna, mencipta pengguna, menanyakan semua pengguna dan mencetak output. Seperti yang anda lihat, sangat mudah untuk menggunakan Gorm untuk membangunkan aplikasi pangkalan data.
Viper ialah pustaka Go untuk pengurusan konfigurasi yang boleh mengendalikan berbilang sumber input dengan mudah seperti fail konfigurasi, pembolehubah persekitaran dan parameter baris arahan. Ia menyokong fail konfigurasi dalam berbilang format, seperti JSON, YAML, TOML, dll. Format tersuai juga boleh digunakan.
Menggunakan Viper juga sangat mudah Anda hanya perlu menggunakan arahan go get untuk memasangnya, dan kemudian import Viper dalam kod untuk mula menggunakannya. Contohnya:
package main import ( "github.com/spf13/viper" "log" ) type Config struct { AppName string LogLevel string } func main() { viper.SetConfigFile("config.yaml") // 配置文件名 viper.SetConfigType("yaml") // 配置文件类型 viper.AddConfigPath(".") // 配置文件路径 err := viper.ReadInConfig() if err != nil { log.Fatal(err) } config := Config{ AppName: viper.GetString("app.name"), LogLevel: viper.GetString("log.level"), } log.Println(config.AppName, config.LogLevel) }
Kod di atas menggunakan Viper untuk membaca fail konfigurasi bernama config.yaml, dapatkan atribut app.name dan log.level, dan mencetak output. Seperti yang anda lihat, sangat mudah untuk menggunakan Viper untuk menguruskan fail konfigurasi.
Cobra ialah pustaka Go untuk mencipta aplikasi CLI yang berkuasa menjadikannya mudah untuk mentakrif dan menghuraikan parameter baris arahan dan memproses Pelbagai subperintah. pilihan, dsb. Dengan menggunakan Cobra, anda boleh mencipta alat baris arahan interaktif yang lebih baik untuk aplikasi anda.
Penggunaan Cobra juga sangat mudah Anda hanya perlu menggunakan arahan go get untuk memasangnya, dan kemudian import Cobra dalam kod untuk mula menggunakannya. Contohnya:
package main import ( "fmt" "github.com/spf13/cobra" ) func main() { var cmdPrint = &cobra.Command{ Use: "print", Short: "Print something", Long: "This command print something.", Run: func(cmd *cobra.Command, args []string) { fmt.Println("Print something.") }, } var rootCmd = &cobra.Command{Use: "app"} rootCmd.AddCommand(cmdPrint) err := rootCmd.Execute() if err != nil { fmt.Println(err) } }
Kod di atas menggunakan Cobra untuk mentakrifkan subperintah bernama print, dan mentakrifkan beberapa maklumat asas dan operasi untuk subperintah itu, dan kemudian mentakrifkan arahan root bernama app dan print Subcommands ditambahkan pada arahan root. . Seperti yang anda lihat, sangat mudah untuk menggunakan Cobra untuk mencipta alat baris arahan.
Air ialah alat muat semula panas Go yang cekap yang boleh membuat perubahan kod semasa aplikasi sedang berjalan dan menyusun semula serta menjalankannya secara automatik. Udara boleh membantu pembangun menguji dan menyahpepijat kod dengan lebih mudah.
Menggunakan Air juga sangat mudah Anda hanya perlu menggunakan arahan go get untuk memasangnya, dan kemudian jalankan udara dalam direktori aplikasi untuk mula menggunakannya. Contohnya:
package main import "fmt" func main() { fmt.Println("Hello, World!") }
Kod di atas ialah program Hello World yang mudah Apabila anda menggunakan udara untuk menjalankan dan mengubah suai ujian, anda boleh melihat bahawa udara akan mengesan perubahan kod dalam masa nyata dan menyusun semula serta menjalankannya secara automatik. sangat meningkatkan kecekapan pembangunan.
Perkara di atas memperkenalkan beberapa alatan yang biasa digunakan untuk pembangunan web dalam pembelajaran Golang, termasuk rangka kerja Gin, rangka kerja Gorm ORM, pustaka konfigurasi Viper, pustaka baris arahan Cobra dan alat muat semula panas Air. Alat ini boleh membantu pembangun membangunkan dan menggunakan aplikasi web dengan lebih cekap, meningkatkan kecekapan pembangunan dan kualiti kod.
Atas ialah kandungan terperinci Alat biasa pembelajaran Golang untuk pembangunan web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!