Rumah pembangunan bahagian belakang Golang Ketahui tentang lima pemalam paling popular di Golang: the big reveal

Ketahui tentang lima pemalam paling popular di Golang: the big reveal

Jan 16, 2024 am 09:12 AM
paling popular Pendedahan besar pemalam golang

Ketahui tentang lima pemalam paling popular di Golang: the big reveal

Rahsia pemalam Golang: Untuk memahami lima pemalam paling popular, contoh kod khusus diperlukan

Pengenalan: Dengan perkembangan pesat Golang dalam bidang pembangunan web, semakin ramai pembangun mula gunakan Golang untuk membangunkan aplikasi mereka sendiri. Bagi pembangun Golang, pemalam ialah alat penting untuk meningkatkan kecekapan pembangunan dan mengembangkan fungsi. Artikel ini akan membawa anda melalui lima pemalam paling popular di Golang dan memberikan contoh kod yang sepadan.

1. Pemalam rangka kerja Gin

Gin ialah salah satu rangka kerja web yang paling popular di Golang. Ia menyediakan cara yang cepat dan ringkas untuk membina aplikasi web berprestasi tinggi. Rangka kerja Gin menyediakan banyak pemalam perisian tengah yang boleh membantu pembangun melaksanakan pengesahan, pengelogan, pengendalian ralat dan fungsi lain.

Berikut ialah contoh yang menunjukkan cara menggunakan pemalam pengesahan rangka kerja Gin:

package main

import (
    "github.com/gin-gonic/gin"
    "github.com/appleboy/gin-jwt"
)

func main() {
    r := gin.Default()

    // 身份验证中间件
    authMiddleware, err := jwt.New(&jwt.GinJWTMiddleware{
        Realm:       "test zone",
        Key:         []byte("secret key"),
        Timeout:     time.Hour,
        MaxRefresh:  time.Hour,
        IdentityKey: "id",
        Authenticator: func(c *gin.Context) (interface{}, error) {
            var loginVals Login
            if err := c.ShouldBind(&loginVals); err != nil {
                return "", jwt.ErrMissingLoginValues
            }
            userID := loginVals.UserID
            password := loginVals.Password

            if (userID == "admin" && password == "admin") || (userID == "test" && password == "test") {
                return userID, nil
            }

            return nil, jwt.ErrFailedAuthentication
        },
        PayloadFunc: func(data interface{}) jwt.MapClaims {
            if v, ok := data.(string); ok {
                return jwt.MapClaims{"id": v}
            }
            return jwt.MapClaims{}
        },
        IdentityHandler: func(c *gin.Context) interface{} {
            claims := jwt.ExtractClaims(c)
            return claims["id"]
        },
    })

    if err != nil {
        log.Fatalf("Failed to create JWT middleware: %v", err)
    }

    // 使用身份验证中间件
    r.Use(authMiddleware.MiddlewareFunc())
    // 添加保护路由
    r.GET("/protected", authMiddleware.MiddlewareFunc(), func(c *gin.Context) {
        c.JSON(http.StatusOK, gin.H{"data": "protected"})
    })

    // 启动服务器
    if err := r.Run(":8080"); err != nil {
        log.Fatal("Failed to start server: ", err)
    }
}
Salin selepas log masuk

2. Pemalam baris arahan Cobra

Cobra ialah rangka kerja baris arahan yang biasa digunakan di Golang, yang boleh membantu pembangun membina elegan aplikasi baris arahan. Ia menyediakan API yang ringkas dan mudah digunakan yang boleh membantu pembangun mentakrifkan arahan, subperintah, bendera, parameter, dsb.

Berikut ialah contoh yang menunjukkan cara menggunakan pemalam Cobra untuk mentakrifkan aplikasi baris arahan yang mudah:

package main

import (
    "log"

    "github.com/spf13/cobra"
)

func main() {
    rootCmd := &cobra.Command{
        Use:   "myapp",
        Short: "A simple CLI application",
        Run: func(cmd *cobra.Command, args []string) {
            // 执行应用程序的主要逻辑
            log.Println("Hello, Gopher!")
        },
    }

    // 添加子命令
    rootCmd.AddCommand(&cobra.Command{
        Use:   "greet",
        Short: "Greet the user",
        Run: func(cmd *cobra.Command, args []string) {
            log.Println("Hello, " + args[0])
        },
    })

    // 启动命令行应用程序
    if err := rootCmd.Execute(); err != nil {
        log.Fatal("Failed to start CLI application: ", err)
    }
}
Salin selepas log masuk

3. Pemalam pangkalan data GORM

GORM ialah perpustakaan ORM (Pemetaan Perhubungan Objek) paling popular di Golang API yang ringkas dan mudah digunakan untuk membantu pembangun mengendalikan pangkalan data dengan mudah.

Berikut ialah contoh yang menunjukkan cara menggunakan pemalam GORM untuk menyambung ke pangkalan data MySQL dan mencipta model data ringkas dan jadual pangkalan data:

package main

import (
    "log"

    "gorm.io/driver/mysql"
    "gorm.io/gorm"
)

type User struct {
    ID   uint
    Name string
    Age  int
}

func main() {
    dsn := "username:password@tcp(127.0.0.1:3306)/dbname?charset=utf8mb4&parseTime=True&loc=Local"
    db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
    if err != nil {
        log.Fatal("Failed to connect database: ", err)
    }

    // 迁移数据表
    err = db.AutoMigrate(&User{})
    if err != nil {
        log.Fatal("Failed to migrate database: ", err)
    }

    // 创建用户
    user := User{Name: "Alice", Age: 18}
    result := db.Create(&user)
    if result.Error != nil {
        log.Fatal("Failed to create user: ", result.Error)
    }
    log.Println("Created user:", user)

    // 查询用户
    var users []User
    result = db.Find(&users)
    if result.Error != nil {
        log.Fatal("Failed to query users: ", result.Error)
    }
    log.Println("Users:", users)
}
Salin selepas log masuk

4 Viper Profile Plugin

Viper ialah perpustakaan profil paling popular di Golang , yang menyokong berbilang format fail konfigurasi (seperti JSON, YAML, TOML, dll.) dan boleh membantu pembangun membaca dan menghuraikan fail konfigurasi dengan mudah.

Berikut ialah contoh yang menunjukkan cara menggunakan pemalam Viper untuk membaca dan menghuraikan fail konfigurasi dalam format JSON:

package main

import (
    "log"

    "github.com/spf13/viper"
)

func main() {
    viper.SetConfigFile("config.json")
    err := viper.ReadInConfig()
    if err != nil {
        log.Fatal("Failed to read config file: ", err)
    }

    data := viper.GetString("data")
    log.Println("Data:", data)

    dbHost := viper.GetString("database.host")
    dbPort := viper.GetInt("database.port")
    dbUser := viper.GetString("database.user")
    dbPassword := viper.GetString("database.password")
    log.Println("Database:", dbHost, dbPort, dbUser, dbPassword)
}
Salin selepas log masuk

5. Pemalam pembolehubah persekitaran Godotenv

Godotenv ialah perpustakaan pembolehubah persekitaran yang biasa digunakan di Golang , yang boleh membantu pembangun daripada Muatkan pembolehubah persekitaran daripada fail dan tetapkannya sebagai pembolehubah persekitaran untuk proses semasa.

Berikut ialah contoh yang menunjukkan cara menggunakan pemalam Godotenv untuk memuatkan pembolehubah persekitaran daripada fail .env:

package main

import (
    "log"

    "github.com/joho/godotenv"
)

func main() {
    err := godotenv.Load(".env")
    if err != nil {
        log.Fatal("Failed to load .env file: ", err)
    }

    dbHost := os.Getenv("DB_HOST")
    dbPort := os.Getenv("DB_PORT")
    dbUser := os.Getenv("DB_USER")
    dbPassword := os.Getenv("DB_PASSWORD")
    log.Println("Database:", dbHost, dbPort, dbUser, dbPassword)
}
Salin selepas log masuk

Kesimpulan: Di atas ialah pengenalan terperinci dan kod contoh untuk lima pemalam paling popular di Golang. Sama ada pembangunan web, pembangunan aplikasi baris arahan atau operasi pangkalan data, pemalam ini boleh membantu pembangun menyediakan penyelesaian yang lebih cekap. Saya harap artikel ini akan membantu anda memahami pemalam Golang!

Atas ialah kandungan terperinci Ketahui tentang lima pemalam paling popular di Golang: the big reveal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Selesai dalam satu minit! Cara menghantar skrin dari telefon mudah alih Huawei ke TV didedahkan Selesai dalam satu minit! Cara menghantar skrin dari telefon mudah alih Huawei ke TV didedahkan Mar 22, 2024 pm 06:09 PM

Dalam era digital ini, telefon bimbit telah menjadi salah satu alat yang sangat diperlukan dalam kehidupan orang ramai, dan telefon pintar telah menjadikan kehidupan kita lebih mudah dan pelbagai. Sebagai salah satu penyedia penyelesaian teknologi komunikasi terkemuka di dunia, telefon mudah alih Huawei telah mendapat pujian yang tinggi. Selain fungsi prestasi dan fotografi yang berkuasa, telefon bimbit Huawei juga mempunyai fungsi tayangan skrin yang praktikal, membolehkan pengguna menayangkan kandungan pada telefon mudah alih mereka ke TV untuk ditonton, mencapai pengalaman hiburan audio-visual skrin yang lebih besar. Dalam kehidupan seharian, kita sering mengalami situasi sedemikian: kita ingin bersama keluarga kita

Mendedahkan lima alat visualisasi untuk memudahkan operasi Kafka Mendedahkan lima alat visualisasi untuk memudahkan operasi Kafka Jan 04, 2024 pm 12:11 PM

Memudahkan operasi Kafka: Lima alat visualisasi yang mudah digunakan didedahkan Pengenalan: Sebagai platform pemprosesan strim teragih, Kafka digemari oleh semakin banyak perusahaan. Walau bagaimanapun, walaupun Kafka mempunyai kelebihan daya pemprosesan yang tinggi, kebolehpercayaan dan skalabiliti, kerumitan operasinya juga telah menjadi cabaran utama bagi pengguna. Untuk memudahkan operasi Kafka dan meningkatkan produktiviti pembangun, banyak alat visualisasi telah muncul. Artikel ini akan memperkenalkan lima alat visualisasi Kafka yang mudah digunakan untuk membantu anda mengemudi dunia Kafka dengan mudah.

Mendedahkan rahsia cara cepat menggantikan kod dalam PyCharm Mendedahkan rahsia cara cepat menggantikan kod dalam PyCharm Feb 25, 2024 pm 11:21 PM

PyCharm ialah persekitaran pembangunan bersepadu Python yang disukai secara meluas oleh pembangun Ia menyediakan banyak cara untuk menggantikan kod dengan cepat, menjadikan proses pembangunan lebih cekap. Artikel ini akan mendedahkan beberapa kaedah yang biasa digunakan untuk menggantikan kod dalam PyCharm dengan cepat dan memberikan contoh kod khusus untuk membantu pembangun menggunakan ciri ini dengan lebih baik. 1. Gunakan fungsi gantian PyCharm menyediakan fungsi gantian berkuasa yang boleh membantu pembangun menggantikan teks dalam kod dengan cepat. Gunakan pintasan Ctrl+R atau klik kanan dalam editor dan pilih Semula

Mendedahkan 5 kemahiran rangka kerja aliran kerja Java teratas dalam industri Mendedahkan 5 kemahiran rangka kerja aliran kerja Java teratas dalam industri Dec 27, 2023 am 09:23 AM

Dengan kemunculan era maklumat, perusahaan menghadapi lebih banyak cabaran apabila berhadapan dengan proses perniagaan yang kompleks. Dalam konteks ini, rangka kerja aliran kerja telah menjadi alat penting untuk perusahaan mencapai pengurusan proses dan automasi yang cekap. Antara rangka kerja aliran kerja ini, rangka kerja aliran kerja Java digunakan secara meluas dalam pelbagai industri dan mempunyai prestasi dan kestabilan yang cemerlang. Artikel ini akan memperkenalkan 5 rangka kerja aliran kerja Java teratas dalam industri dan mendedahkan ciri serta kelebihannya secara mendalam. ActivitiActiviti ialah sumber terbuka, diedarkan, kerja ringan

Adakah Win11 Recycle Bin hilang? Penyelesaian cepat didedahkan! Adakah Win11 Recycle Bin hilang? Penyelesaian cepat didedahkan! Mar 08, 2024 pm 10:15 PM

Adakah Win11 Recycle Bin hilang? Penyelesaian cepat didedahkan! Baru-baru ini, ramai pengguna sistem Win11 telah melaporkan bahawa Recycle Bin mereka telah hilang, mengakibatkan ketidakupayaan untuk mengurus dan memulihkan fail yang dipadam dengan betul. Masalah ini telah menarik perhatian meluas, dan ramai pengguna meminta penyelesaian. Hari ini kami akan mendedahkan sebab Tong Kitar Semula Win11 hilang, dan menyediakan beberapa penyelesaian pantas untuk membantu pengguna memulihkan fungsi Tong Kitar Semula secepat mungkin. Mula-mula, mari kita terangkan mengapa Tong Kitar Semula tiba-tiba hilang dalam sistem Win11. Malah, dalam sistem Win11

Menyahmistikan perpustakaan pembalakan biasa Golang: Memahami alatan pembalakan Menyahmistikan perpustakaan pembalakan biasa Golang: Memahami alatan pembalakan Jan 16, 2024 am 10:22 AM

Alat Pembalakan Golang Didedahkan: Satu artikel untuk memahami perpustakaan pembalakan biasa, contoh kod khusus diperlukan Pengenalan: Dalam proses pembangunan perisian, pembalakan adalah tugas yang sangat penting. Melalui pengelogan, kami boleh menjejaki status berjalan program, menyelesaikan ralat dan kod nyahpepijat. Di Golang, terdapat banyak alat pembalakan yang sangat baik untuk dipilih. Artikel ini akan memperkenalkan beberapa perpustakaan log Golang biasa, termasuk pakej log, logrus, zap dan zerolog, serta menyediakan contoh kod khusus untuk membantu

Tutorial memotong gambar panjang pada telefon bimbit Huawei didedahkan! Tutorial memotong gambar panjang pada telefon bimbit Huawei didedahkan! Mar 23, 2024 pm 04:09 PM

Tutorial memotong gambar panjang pada telefon bimbit Huawei didedahkan! Dalam kehidupan seharian, kita sering menghadapi situasi di mana kita perlu menangkap imej yang panjang, sama ada untuk menyimpan keseluruhan halaman web, memintas keseluruhan sejarah sembang atau menangkap keseluruhan artikel yang panjang, kita semua perlu menggunakan ciri tersebut. menangkap imej panjang. Bagi pengguna yang memiliki telefon bimbit Huawei, telefon bimbit Huawei menyediakan fungsi yang mudah untuk memotong gambar panjang Hari ini, mari kami mendedahkan tutorial terperinci mengenai memotong gambar panjang pada telefon bimbit Huawei. 1. Fungsi tangkapan skrin gelongsor Jika anda mempunyai telefon bimbit Huawei, mengambil gambar yang panjang akan menjadi sangat mudah. EMU dalam telefon mudah alih Huawei

Rahsia perisian penting untuk pengaturcaraan bahasa Go: anda tidak boleh terlepas 5 alat ini Rahsia perisian penting untuk pengaturcaraan bahasa Go: anda tidak boleh terlepas 5 alat ini Mar 05, 2024 am 10:21 AM

Dalam bidang pengaturcaraan komputer hari ini, bahasa Go, sebagai bahasa pengaturcaraan yang mudah dan cekap, digemari oleh semakin ramai pembangun. Untuk meningkatkan kecekapan pengaturcaraan bahasa Go, selain mahir dalam sintaks dan perpustakaan kod yang biasa digunakan, adalah juga penting untuk memilih alatan yang sesuai. Dalam artikel ini, kami akan mendedahkan 5 perisian penting untuk pengaturcaraan bahasa Go dan memberikan anda contoh kod khusus untuk membantu anda memperoleh dua kali ganda hasil dengan separuh usaha dalam proses pengaturcaraan bahasa Go. 1.VisualStudioCode ialah editor kod sumber terbuka yang ringan, Visu

See all articles