Go 言語は、高速、簡潔、読みやすく、デプロイしやすいプログラミング言語であり、近年開発者の間で人気が高まっています。 Go 言語エコシステムには、開発者がさまざまな機能を迅速に実装し、開発効率を向上させるのに役立つ優れたサードパーティ ライブラリが多数あります。この記事では、知って使用する必要がある 5 つの Go 言語ライブラリを紹介し、読者がこれらのライブラリをよりよく理解して適用できるように、各ライブラリの具体的なコード例を示します。
Gin は、開発者が高性能の Web アプリケーションを簡単に構築できるようにする、高速で柔軟な HTTP Web フレームワークです。以下は、単純な Gin サンプル コードです:
package main import "github.com/gin-gonic/gin" func main() { r := gin.Default() r.GET("/hello", func(c *gin.Context) { c.JSON(200, gin.H{ "message": "Hello, Gin!", }) }) r.Run(":8080") }
この例では、単純な Jin アプリケーションを作成しました。ユーザーが http://localhost:8080/hello
にアクセスすると、メッセージが表示されます。 JSON形式で返されます。
GORM は、開発者が Go でデータベースを簡単に操作できるようにする強力な ORM ライブラリです。以下は、簡単な GORM サンプル コードです。
package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type User struct { ID uint Name string } func main() { dsn := "user: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 { panic("failed to connect database") } db.AutoMigrate(&User{}) user := User{Name: "Alice"} db.Create(&user) var result User db.First(&result, 1) fmt.Println(result) }
この例では、GORM を使用してデータベースに接続し、User
という名前の構造を作成し、データを挿入してクエリする方法を示します。データベース。
Viper は、開発者が Go アプリケーションの構成情報を簡単に読み取り、管理できるようにする強力な構成管理ライブラリです。以下は、簡単な Viper サンプル コードです。
package main import ( "fmt" "github.com/spf13/viper" ) func main() { viper.SetConfigType("yaml") viper.SetConfigName("config") viper.AddConfigPath(".") err := viper.ReadInConfig() if err != nil { fmt.Println("Config file not found") } port := viper.GetInt("server.port") fmt.Println("Server port: ", port) }
この例では、Viper を使用して config.yaml
という名前の構成ファイルを読み取り、構成ファイル server.port# を出力します。 ## 価値。
package main import ( "github.com/dgrijalva/jwt-go" "time" ) func main() { token := jwt.New(jwt.SigningMethodHS256) token.Claims = jwt.MapClaims{ "username": "alice", "exp": time.Now().Add(time.Hour * 24).Unix(), } tokenString, err := token.SignedString([]byte("secret")) if err != nil { panic(err) } println(tokenString) parsedToken, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { return []byte("secret"), nil }) if claims, ok := parsedToken.Claims.(jwt.MapClaims); ok && parsedToken.Valid { username := claims["username"].(string) println(username) } else { println("Invalid token") } }
package main import "go.uber.org/zap" func main() { logger, _ := zap.NewProduction() defer logger.Sync() logger.Info("Info log") logger.Warn("Warning log") logger.Error("Error log") }
以上がGo 言語ライブラリの秘密: 知って使用しなければならない 5 つのライブラリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。