Ces exemples de code démontrent les utilisations du framework Go, notamment la création d'applications Web (Gin), la gestion d'API (Echo), l'utilisation de systèmes distribués (Consul), l'utilisation de la communication basée sur les événements (NATS) et la gestion de bases de données à l'aide d'un ORM (GORM). ).
Exemple de code de framework Go : création d'applications Web et cloud natives puissantes
Introduction
Le langage Go est connu pour son efficacité, sa concurrence et ses capacités multiplateformes, ce qui le rend idéal pour créer des applications Web et cloud natives. applications ça marche. Cet article compile des exemples de code pour divers frameworks Go, couvrant tout, du développement Web à la gestion des API et aux systèmes distribués.
1. Framework Web
Gin: Un framework Web léger et performant:
func main() { r := gin.Default() r.GET("/users/:name", func(c *gin.Context) { name := c.Param("name") c.JSON(200, gin.H{ "name": name, "message": "Hello " + name, }) }) r.Run() }
2. Framework de gestion d'API
Echo: Un framework API RESTful minimaliste et performant:
.func main() { e := echo.New() e.GET("/users/:id", func(c echo.Context) error { id := c.Param("id") return c.JSON(http.StatusOK, map[string]interface{}{ "id": id, "name": "John Doe", }) }) e.Logger.Fatal(e.Start(":1323")) }
3. Framework de système distribué
Consul : Un framework léger et performant de découverte de services distribués et de gestion de configuration :
// 创建一个 Consul 客户机 client, err := consul.NewClient(consul.DefaultConfig()) if err != nil { log.Fatal(err) } // 注册一个服务 err = client.Agent().ServiceRegister(&consul.AgentServiceRegistration{ ID: "user-service", Name: "user-service", Port: 8000, Address: "127.0.0.1", }) if err != nil { log.Fatal(err) }
4. , plateforme de communication basée sur les messages :
// 创建一个 NATS 连接 conn, err := nats.Connect("nats://127.0.0.1:4222") if err != nil { log.Fatal(err) } // 创建一个发布者 publisher, err := conn.PublishAsync("orders", nil) if err != nil { log.Fatal(err) } // 发送消息 publisher.Msg.Data = []byte("Hello World") publisher.Publish() // 创建一个订阅者 subscriber, err := conn.Subscribe("orders", func(m *nats.Msg) { log.Println("Received a message:", string(m.Data)) }) if err != nil { log.Fatal(err) }
5. Framework de base de données
GORM : Un framework ORM (Object Relational Mapping) simple et efficace :
import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) // 创建一个 GORM 句柄 db, err := gorm.Open(mysql.Open("user:password@tcp(127.0.0.1:3306)/database"), &gorm.Config{}) if err != nil { log.Fatal(err) } // 创建一个 User 模型 type User struct { ID uint `gorm:"primary_key"` Name string `gorm:"not null"` Email string `gorm:"unique;not null"` Age int `gorm:"not null"` Active bool `gorm:"default:false"` JoinedAt time.Time `gorm:"autoCreateTime"` } // 执行查询并查看结果 results := db.Model(&User{}).Where("name = ?", "John").Find(&users) if results.Error != nil { log.Fatal(results.Error) } fmt.Println(users)
ConclusionCes codes Les exemples mettent en évidence l'étendue et la fonctionnalité. du framework Go, prouvant que Go est un excellent choix pour créer des applications Web et cloud natives robustes, efficaces et évolutives.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!