Heim > Backend-Entwicklung > Golang > Wie kann ich Datenbankzeilen in Go effizient in einen Kartenausschnitt konvertieren?

Wie kann ich Datenbankzeilen in Go effizient in einen Kartenausschnitt konvertieren?

Linda Hamilton
Freigeben: 2024-12-07 06:23:15
Original
817 Leute haben es durchsucht

How Can I Efficiently Convert Database Rows into a Slice of Maps in Go?

Erstellen einer Karte aus Datenbankzeilen in Go

Bei der Arbeit mit Datenbankabfragen ist es notwendig, die Ergebnisse abzurufen und in eine praktische Datenstruktur umzuwandeln. In Go stellt das Standardpaket „Datenbank/SQL“ den Typ „Rows“ bereit, um eine Reihe von Zeilen darzustellen, die von einer Abfrage zurückgegeben werden. Die Herausforderung entsteht jedoch, wenn man aus diesen Zeilen eine Karte erstellen möchte, bei der die Kartenschlüssel die Spaltennamen und die Werte die entsprechenden Zeilenwerte sind.

Um dieses Problem zu beheben, wird die Verwendung des SQLX-Pakets empfohlen . Hier ist ein Beispiel, das zeigt, wie Zeilen mit sqlx in einen Kartenausschnitt konvertiert werden:

package main

import (
    "database/sql"
    "fmt"

    _ "github.com/go-sql-driver/mysql"
    "github.com/jmoiron/sqlx"
)

type Place struct {
    ID      int
    Telcode int
}

func main() {
    db, err := sqlx.Open("mysql", "user:password@tcp(localhost:3306)/database")
    if err != nil {
        fmt.Printf(err)
        return
    }

    rows, err := db.Query("SELECT * FROM place ORDER BY telcode ASC")
    if err != nil {
        fmt.Printf(err)
        return
    }

    places := []map[string]interface{}{}
    for rows.Next() {
        rowMap := make(map[string]interface{})

        if err := rows.MapScan(rowMap); err != nil {
            fmt.Printf(err)
            return
        }

        places = append(places, rowMap)
    }

    fmt.Println(places)
}
Nach dem Login kopieren

In diesem Beispiel wird die sqlx.MapScan-Funktion verwendet, um jede Zeile in eine Karte zu scannen. Der resultierende Kartenausschnitt wird in der Variablen „Orte“ gespeichert und gedruckt. Dieser Ansatz ermöglicht eine flexiblere Darstellung der Zeilendaten, bei der die Spaltennamen zu Kartenschlüsseln werden und die entsprechenden Werte über die Kartenschnittstelle zugänglich sind.

Das obige ist der detaillierte Inhalt vonWie kann ich Datenbankzeilen in Go effizient in einen Kartenausschnitt konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage