Untuk mendapatkan hasil pertanyaan, Golang menyediakan kaedah dan alatan yang berbeza. Dalam artikel ini, kami akan meneroka kaedah dan teknik untuk mendapatkan hasil pertanyaan.
Menggunakan pemacu pangkalan data ialah cara biasa untuk mendapatkan hasil pertanyaan. Golang menyokong pelbagai pemacu pangkalan data, termasuk MySQL, PostgreSQL dan SQLite. Sebelum menggunakan pemacu pangkalan data, anda perlu memasang perpustakaan yang sepadan. Sebagai contoh, untuk menggunakan pemacu MySQL, anda perlu menjalankan arahan berikut:
go get -u github.com/go-sql-driver/mysql
Ini akan memuat turun dan memasang pemacu MySQL.
Seterusnya, anda perlu menggunakan pangkalan data/pakej sql untuk melaksanakan pertanyaan dan mendapatkan hasilnya. Di bawah ialah contoh program yang menggunakan pemacu MySQL untuk menyambung ke pangkalan data MySQL dan melaksanakan pertanyaan SELECT mudah:
package main import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "user:password@tcp(hostname:port)/database") if err != nil { panic(err.Error()) } defer db.Close() rows, err := db.Query("SELECT * FROM users") if err != nil { panic(err.Error()) } defer rows.Close() var id int var name string for rows.Next() { err = rows.Scan(&id, &name) if err != nil { panic(err.Error()) } fmt.Println(id, name) } }
Dalam program di atas, kami menggunakan kaedah sql.Open() untuk menyambung ke pangkalan data MySQL. Dalam rentetan sambungan, kami menentukan nama hos, port dan nama pangkalan data pelayan pangkalan data. Kemudian, kami menggunakan kaedah db.Query() untuk melaksanakan pertanyaan SELECT dan data baris dalam set hasil pertanyaan. Untuk setiap baris, kami menggunakan kaedah rows.Scan() untuk membaca data lajur dalam baris.
Rangka kerja ORM (Pemetaan Perkaitan Objek) ialah satu lagi cara popular untuk mendapatkan hasil pertanyaan di Golang. Rangka kerja ORM membolehkan anda memetakan jadual pangkalan data ke dalam struktur dan medan di Golang dan menyediakan pelbagai kaedah untuk melaksanakan pertanyaan dan memanipulasi pangkalan data. Beberapa rangka kerja ORM yang popular di Golang termasuk GORM, XORM, Beego ORM, dsb.
Berikut ialah contoh program yang menggunakan rangka kerja GORM untuk mendapatkan hasil pertanyaan:
package main import ( "fmt" "gorm.io/driver/mysql" "gorm.io/gorm" ) type User struct { ID uint Name string } func main() { dsn := "user:password@tcp(hostname:port)/database" db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{}) if err != nil { panic(err.Error()) } defer db.Close() var users []User db.Find(&users) for _, user := range users { fmt.Println(user.ID, user.Name) } }
Dalam program di atas, kami menggunakan GORM untuk memetakan jadual Pengguna kepada struktur Pengguna di Golang. Kami kemudian laksanakan pertanyaan SELECT menggunakan kaedah db.Find() dan simpan hasil pertanyaan ke dalam kepingan. Akhir sekali, kami mengulangi hirisan untuk mencetak ID dan nama setiap pengguna.
Jika anda perlu mendapatkan hasil pertanyaan daripada perkhidmatan web, anda boleh menggunakan klien HTTP terbina dalam Golang. Pelanggan HTTP membenarkan anda menghantar permintaan kepada perkhidmatan web dengan antara muka HTTP dan mendapatkan hasil daripada respons.
Berikut ialah contoh program yang menggunakan klien HTTP untuk mendapatkan hasil pertanyaan:
package main import ( "encoding/json" "fmt" "net/http" ) type User struct { ID int `json:"id"` Name string `json:"name"` } func main() { url := "https://example.com/users" resp, err := http.Get(url) if err != nil { panic(err.Error()) } defer resp.Body.Close() var users []User err = json.NewDecoder(resp.Body).Decode(&users) if err != nil { panic(err.Error()) } for _, user := range users { fmt.Println(user.ID, user.Name) } }
Dalam atur cara di atas, kami menggunakan kaedah http.Get() untuk meminta senarai pengguna daripada Perkhidmatan web. Kami kemudiannya menyahkod respons berformat JSON menggunakan kaedah json.NewDecoder() dan memetakannya ke dalam kepingan Pengguna. Akhir sekali, kami mengulangi hirisan untuk mencetak ID dan nama setiap pengguna.
Ringkasan
Di atas ialah tiga cara biasa untuk mendapatkan hasil pertanyaan dalam Golang: menggunakan pemacu pangkalan data, menggunakan rangka kerja ORM dan menggunakan klien HTTP. Petua ini boleh membantu anda menulis kod yang cekap dan fleksibel untuk memproses dan mendapatkan hasil pertanyaan dengan lebih baik. Sama ada anda mendapat hasil pertanyaan daripada pangkalan data hubungan atau daripada perkhidmatan Web, petua ini boleh membantu anda mendapatkan hasil dan memprosesnya dengan mudah.
Atas ialah kandungan terperinci golang mendapat hasil pertanyaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!