Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Menukar Baris Pangkalan Data dengan Cekap kepada Secebis Peta dalam Go?

Bagaimanakah Saya Boleh Menukar Baris Pangkalan Data dengan Cekap kepada Secebis Peta dalam Go?

Linda Hamilton
Lepaskan: 2024-12-07 06:23:15
asal
783 orang telah melayarinya

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

Membuat Peta daripada Baris Pangkalan Data dalam Go

Apabila bekerja dengan pertanyaan pangkalan data, adalah perlu untuk mendapatkan semula keputusan dan menukarnya kepada struktur data yang mudah. Dalam Go, pakej pangkalan data/sql standard menyediakan jenis Rows untuk mewakili set baris yang dikembalikan daripada pertanyaan. Walau bagaimanapun, cabaran timbul apabila seseorang ingin mencipta peta daripada baris ini, dengan kunci peta ialah nama lajur dan nilainya ialah nilai baris yang sepadan.

Untuk menangani isu ini, menggunakan pakej sqlx adalah disyorkan . Berikut ialah contoh yang menunjukkan cara menukar baris kepada kepingan peta menggunakan sqlx:

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)
}
Salin selepas log masuk

Dalam contoh ini, fungsi sqlx.MapScan digunakan untuk mengimbas setiap baris ke dalam peta. Potongan peta yang terhasil disimpan dalam pembolehubah tempat dan dicetak. Pendekatan ini membolehkan perwakilan data baris yang lebih fleksibel, dengan nama lajur menjadi kunci peta dan nilai yang sepadan boleh diakses melalui antara muka peta.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Baris Pangkalan Data dengan Cekap kepada Secebis Peta dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan