Rumah > pembangunan bahagian belakang > Golang > Mengesyorkan projek bahasa Go yang cemerlang terpilih

Mengesyorkan projek bahasa Go yang cemerlang terpilih

王林
Lepaskan: 2024-03-23 21:57:04
asal
876 orang telah melayarinya

Mengesyorkan projek bahasa Go yang cemerlang terpilih

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

[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)
}
Salin selepas log masuk

Gorm

[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)
}
Salin selepas log masuk

Gin

[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")
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan