Comment convertir des lignes de base de données en une carte dans Go à l'aide de database/sql
Lorsque vous travaillez avec des bases de données, il est souvent nécessaire de récupérer des données et convertissez-le dans un format facilement manipulable dans vos applications Go. Une approche courante consiste à convertir les lignes de résultats en une tranche de cartes. Cependant, la fonction base de données/sql Rows.Scan nécessite un nombre spécifique de paramètres pour correspondre aux colonnes renvoyées par la requête.
Création d'une carte à partir de lignes à l'aide de sqlx
Bien que le package database/sql ne fournisse pas de prise en charge directe pour la conversion de lignes en tranches de cartes, vous pouvez utiliser le package sqlx pour simplifier le processus. process :
import "github.com/jmoiron/sqlx" db := sqlx.Open("postgres", "user=postgres password=mypassword host=localhost port=5432 dbname=mydb") places := []Place{} err := db.Select(&places, "SELECT * FROM place ORDER BY telcode ASC") if err != nil { fmt.Printf(err) return }
Dans cet exemple, nous utilisons sqlx pour interroger la table place et stocker les résultats dans une tranche de structures Place. Vous pouvez remplacer []Place{} par []map[string]interface{} pour créer une tranche de cartes à la place.
Remarque : Il est recommandé d'utiliser des structures autant que possible, car elles assurent la sécurité des types et éliminent le besoin d’assertions de type, qui peuvent être sujettes aux erreurs. Cependant, si vous ne connaissez pas la structure de votre base de données ou si vous avez besoin de travailler avec des données dynamiques, vous pouvez utiliser une tranche de cartes pour plus de flexibilité.
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!