Dalam senario akses pangkalan data dengan data berstruktur, selalunya wajar untuk menukar data baris pangkalan data kepada struct yang sepadan. Pertimbangkan struct Pengguna berikut:
type User struct { Name string Id int Score int }
Dengan mengandaikan jadual pangkalan data dengan skema yang sama, bagaimanakah kita boleh menghuraikan baris pangkalan data secara cekap terus ke dalam struct Pengguna?
Pakej pangkalan data/sql Go menyediakan contoh yang berguna, seperti yang dibuktikan oleh yang berikut ujian:
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) }
Menggunakan prinsip ini pada kes khusus anda, anda boleh menukar satu baris kepada struct Pengguna seperti berikut:
var row struct { age int name string } err = db.QueryRow("SELECT|people|age,name|age=?", 3).Scan(&row.age, &row.name)
Atas ialah kandungan terperinci Bagaimana untuk Menukar Baris Pangkalan Data dengan Cekap kepada Struktur dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!