Rumah > pembangunan bahagian belakang > Golang > Bagaimana Mengendalikan Penukaran Jenis Apabila Bekerja dengan Pangkalan Data dalam Go?

Bagaimana Mengendalikan Penukaran Jenis Apabila Bekerja dengan Pangkalan Data dalam Go?

Susan Sarandon
Lepaskan: 2024-11-07 14:15:03
asal
783 orang telah melayarinya

How to Handle Type Conversions When Working with Databases in Go?

Penegasan Jenis Golang: Mengendalikan Penukaran Jenis Pangkalan Data

Dalam Go, penegasan jenis membenarkan kami menukar nilai kepada jenis yang berbeza berdasarkannya jenis sebenar. Ini berguna apabila bekerja dengan jenis dinamik atau melaksanakan antara muka tersuai.

Pertimbangkan senario di mana kami mencipta jenis tersuai yang dipanggil Peranan berdasarkan rentetan dan ingin menggunakannya dengan pemacu pangkalan data. Untuk melakukan ini, kami perlu melaksanakan antara muka Penilai dan Pengimbas.

Walau bagaimanapun, semasa melaksanakan antara muka ini, kami mungkin menghadapi ralat:

cannot convert value.(string) (type string) to type *Role
Salin selepas log masuk

Penyelesaian untuk Fungsi Imbasan:

Fungsi Imbasan digunakan apabila mendapatkan semula data daripada pangkalan data. Isu timbul kerana kami cuba menukar nilai rentetan jenis terus kepada *Penunjuk Peranan. Sebaliknya, kita harus membatalkan rujukan penunjuk r dan menetapkan nilai nilai kepadanya, seperti:

func (r *Role) Scan(value interface{}) error {
    *r = Role(value.(string))
    return nil
}
Salin selepas log masuk

Penyelesaian untuk Fungsi Nilai:

Fungsi Nilai ialah digunakan semasa memasukkan atau mengemas kini data dalam pangkalan data. Tandatangan yang salah telah diberikan sebelum ini. Tandatangan yang betul ialah:

func (r Role) Value() (driver.Value, error) {
    return string(r), nil
}
Salin selepas log masuk

Perhatikan bahawa fungsi ini tidak mengendalikan atau menghasilkan nilai NULL.

Dengan mengikuti pembetulan ini, kami boleh berjaya melaksanakan penukaran jenis untuk jenis Peranan tersuai kami apabila bekerja dengan pemacu pangkalan data.

Atas ialah kandungan terperinci Bagaimana Mengendalikan Penukaran Jenis Apabila Bekerja dengan Pangkalan Data 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