Maison > développement back-end > Golang > Comment convertir efficacement les lignes d'une base de données en structures dans Go ?

Comment convertir efficacement les lignes d'une base de données en structures dans Go ?

Barbara Streisand
Libérer: 2024-12-17 12:48:26
original
370 Les gens l'ont consulté

How to Efficiently Convert Database Rows to Structs in Go?

Conversion de ligne en structure pour les récupérations de bases de données

Dans les scénarios d'accès à une base de données avec des données structurées, il est souvent souhaitable de convertir les données des lignes de la base de données en une structure correspondante. Considérez la structure utilisateur suivante :

type User struct {
    Name  string
    Id    int
    Score int
}
Copier après la connexion

En supposant une table de base de données avec le même schéma, comment pouvons-nous analyser efficacement une ligne de base de données directement dans une structure utilisateur ?

Rangée à structure efficace Conversion

Le package Go database/sql fournit des exemples utiles, comme en témoigne ce qui suit tests :

func TestQuery(t *testing.T) {
    type row struct {
            age  int
            name string
    }
    rows, err := db.Query("SELECT|people|age,name|")
    got := []row{}
    for rows.Next() {
            var r row
            err = rows.Scan(&r.age, &r.name)
            got = append(got, r)
    }
}

func TestQueryRow(t *testing.T) {
    var row struct {
            age  int
            name string
    }
    err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name)
}
Copier après la connexion

En appliquant ces principes à votre cas spécifique, vous pouvez convertir une ligne en structure utilisateur comme suit :

var row struct {
    age  int
    name string
}
err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal