Maison > Article > développement back-end > golang obtient les résultats de la requête
Afin d'obtenir des résultats de requête, Golang propose différentes méthodes et outils. Dans cet article, nous explorerons les méthodes et techniques permettant d’obtenir des résultats de requête.
L'utilisation d'un pilote de base de données est un moyen courant d'obtenir des résultats de requête. Golang prend en charge une variété de pilotes de bases de données, notamment MySQL, PostgreSQL et SQLite. Avant d'utiliser le pilote de base de données, vous devez installer la bibliothèque correspondante. Par exemple, pour utiliser le pilote MySQL, vous devez exécuter la commande suivante :
go get -u github.com/go-sql-driver/mysql
Cela téléchargera et installera le pilote MySQL.
Ensuite, vous devez utiliser le package database/sql pour exécuter la requête et obtenir les résultats. Vous trouverez ci-dessous un exemple de programme qui utilise le pilote MySQL pour se connecter à une base de données MySQL et exécuter une simple requête SELECT :
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(hostname:port)/database") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("SELECT * FROM users") if err != nil { panic(err.Error()) } defer rows.Close() var id int var name string for rows.Next() { err = rows.Scan(&id, &name) if err != nil { panic(err.Error()) } fmt.Println(id, name) } }
Dans le programme ci-dessus, nous utilisons la méthode sql.Open() pour nous connecter à la base de données MySQL. Dans la chaîne de connexion, nous spécifions le nom d'hôte, le port et le nom de la base de données du serveur de base de données. Ensuite, nous utilisons la méthode db.Query() pour exécuter la requête SELECT et les données de ligne dans le jeu de résultats de la requête. Pour chaque ligne, nous utilisons la méthode rows.Scan() pour lire les données de colonne dans la ligne.
Le framework ORM (Object Relational Mapping) est un autre moyen populaire d'obtenir des résultats de requête dans Golang. Le framework ORM vous permet de mapper des tables de base de données en structures et champs dans Golang et fournit diverses méthodes pour effectuer des requêtes et manipuler la base de données. Certains des frameworks ORM populaires dans Golang incluent GORM, XORM, Beego ORM, etc.
Ce qui suit est un exemple de programme qui utilise le framework GORM pour obtenir des résultats de requête :
package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type User struct { ID uint Name string } func main() { dsn := "user:password@tcp(hostname:port)/database" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic(err.Error()) } defer db.Close() var users []User db.Find(&users) for _, user := range users { fmt.Println(user.ID, user.Name) } }
Dans le programme ci-dessus, nous utilisons GORM pour mapper la table User à la structure User dans Golang. Nous exécutons ensuite la requête SELECT à l'aide de la méthode db.Find() et enregistrons les résultats de la requête dans une tranche. Enfin, nous parcourons la tranche pour imprimer l'ID et le nom de chaque utilisateur.
Si vous avez besoin d'obtenir les résultats d'une requête à partir d'un service Web, vous pouvez utiliser le client HTTP intégré de Golang. Les clients HTTP vous permettent d'envoyer des requêtes à des services Web avec des interfaces HTTP et d'obtenir les résultats des réponses.
Ce qui suit est un exemple de programme qui utilise un client HTTP pour obtenir les résultats d'une requête :
package main import ( "encoding/json" "fmt" "net/http" ) type User struct { ID int `json:"id"` Name string `json:"name"` } func main() { url := "https://example.com/users" resp, err := http.Get(url) if err != nil { panic(err.Error()) } defer resp.Body.Close() var users []User err = json.NewDecoder(resp.Body).Decode(&users) if err != nil { panic(err.Error()) } for _, user := range users { fmt.Println(user.ID, user.Name) } }
Dans le programme ci-dessus, nous utilisons la méthode http.Get() pour demander une liste d'utilisateurs à un service Web. Nous décodons ensuite la réponse au format JSON à l'aide de la méthode json.NewDecoder() et la mappons dans la tranche User. Enfin, nous parcourons la tranche pour imprimer l'ID et le nom de chaque utilisateur.
Résumé
Ci-dessus sont trois façons courantes d'obtenir des résultats de requête dans Golang : en utilisant un pilote de base de données, en utilisant un framework ORM et en utilisant un client HTTP. Ces conseils peuvent vous aider à écrire du code efficace et flexible pour mieux traiter et obtenir les résultats des requêtes. Que vous obteniez les résultats d'une requête à partir d'une base de données relationnelle ou d'un service Web, ces conseils peuvent vous aider à obtenir facilement les résultats et à les traiter.
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!