Heim >Backend-Entwicklung >Golang >Wie initialisiere ich eine Struktur aus einer Datenbankzeile in Go?

Wie initialisiere ich eine Struktur aus einer Datenbankzeile in Go?

Susan Sarandon
Susan SarandonOriginal
2024-12-21 04:30:09232Durchsuche

How to Initialize a Struct from a Database Row in Go?

Strukturinitialisierung aus Datenbankzeile

Beim Umgang mit Datenbankzeilen und -strukturen besteht eine häufige Aufgabe darin, eine Struktur aus einer Datenbankzeile zu initialisieren. So können Sie dies erreichen:

Im bereitgestellten Beispiel wird eine Benutzerstruktur definiert, um Daten darzustellen, die aus einer Datenbanktabelle mit einem ähnlichen Schema abgerufen wurden. Um eine Datenbankzeile in die Struktur zu analysieren, können Sie den folgenden Ansatz verwenden, wie in der gegebenen Antwort gezeigt:

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

Dieser Code verwendet die QueryRow-Methode, um basierend auf einer Abfrage eine einzelne Zeile aus der Datenbank abzurufen das gibt den Alterszustand an. Anschließend wird die Scan-Methode verwendet, um die Zeilenstruktur mit den abgerufenen Werten zu füllen.

Bemerkenswert ist, dass die QueryRow-Methode der empfohlene Ansatz zum Abfragen einer einzelnen Zeile ist. Für den Massenabruf würden Sie die Query-Methode verwenden und die Ergebnisse durchlaufen und jede Zeile in eine neue Strukturinstanz scannen, ähnlich wie es in der in der Antwort erwähnten TestQuery-Funktion gemacht wird.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine Struktur aus einer Datenbankzeile in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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