Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menukar Baris Pangkalan Data dengan Cekap kepada Peta dalam Go?

Bagaimana untuk Menukar Baris Pangkalan Data dengan Cekap kepada Peta dalam Go?

Barbara Streisand
Lepaskan: 2024-12-14 16:11:12
asal
928 orang telah melayarinya

How to Efficiently Convert Database Rows to Maps in Go?

Cara Menukar Baris Pangkalan Data menjadi Peta dalam Go Menggunakan pangkalan data/sql

Apabila bekerja dengan pangkalan data, selalunya perlu mengambil data dan tukarkannya kepada format yang boleh dimanipulasi dengan mudah dalam aplikasi Go anda. Satu pendekatan biasa ialah menukar baris hasil menjadi sekeping peta. Walau bagaimanapun, fungsi pangkalan data/sql Rows.Scan memerlukan bilangan parameter tertentu untuk memadankan lajur yang dikembalikan oleh pertanyaan.

Mencipta Peta daripada Rows Menggunakan sqlx

Walaupun pakej pangkalan data/sql tidak menyediakan sokongan langsung untuk menukar baris menjadi sekeping peta, anda boleh menggunakan pakej sqlx untuk memudahkan proses:

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

Dalam contoh ini, kami menggunakan sqlx untuk menanyakan jadual tempat dan menyimpan hasilnya dalam sekeping struct Place. Anda boleh menggantikan []Tempat{} dengan []map[rentetan]antara muka{} untuk mencipta kepingan peta sebaliknya.

Nota: Adalah disyorkan untuk menggunakan struct apabila boleh, kerana ia menyediakan keselamatan jenis dan menghapuskan keperluan untuk penegasan jenis, yang boleh terdedah kepada ralat. Walau bagaimanapun, jika anda tidak mengetahui struktur pangkalan data anda atau perlu menggunakan data dinamik, anda boleh menggunakan sekeping peta untuk fleksibiliti.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Baris Pangkalan Data dengan Cekap kepada 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