Memetakan Jenis 'bit' MySQL untuk Pergi: Memahami Pemilihan Jenis Go
Dalam MySQL, jenis data 'bit' mewakili satu bit nilai, selalunya digunakan untuk menunjukkan keadaan boolean. Apabila menggunakan Go dengan MySQL melalui ORM seperti Beego, adalah penting untuk memilih jenis Go yang sesuai untuk memetakan jenis 'bit' ini.
Pertimbangan Jenis Data Java vs. Go
Seperti yang dinyatakan, Java menggunakan jenis 'bit(1)' untuk senario sedemikian. Walau bagaimanapun, dalam Go, tidak ada jenis 'bit' asli. Oleh itu, kita perlu menentukan jenis Go yang boleh mewakili nilai 'bit' secukupnya.
Bool atau Custom Type?
Pada mulanya, ia mungkin kelihatan logik untuk menggunakan Pergi jenis 'bool', sepadan dengan sifat boolean data 'bit'. Walau bagaimanapun, penggunaan 'bool' boleh membawa kepada ralat penukaran apabila berinteraksi dengan pangkalan data.
Pelaksanaan BitBool Tersuai
Untuk menangani isu ini, perpustakaan Go 'Sqlx' menyediakan jenis 'BitBool' tersuai yang direka khusus untuk memetakan data 'bit' MySQL. Jenis ini melaksanakan antara muka pemacu.Valuer dan sql.Pengimbas, menukar nilai boolean kepada dan dari medan bit 'bit(1)' dengan berkesan.
Pelaksanaan Beego ORM
Dalam struktur ORM Beego anda, kini anda boleh menggunakan jenis 'BitBool' untuk medan 'Dipadam', seperti yang ditunjukkan di bawah:
type BaseModel struct { Id string `orm:"pk";form:"id"` CreatedTime time.Time `orm:"auto_now_add;type(datetime)";form:"-"` UpdatedTime time.Time `orm:"auto_now;type(datetime)";form:"-"` Deleted BitBool `form:"-"` }
Dengan menggunakan jenis 'BitBool' tersuai, anda boleh memetakan 'bit dengan berkesan (1)' data kepada jenis Go 'BitBool' dalam projek Beego anda tanpa perlu mengubah skema pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk Memetakan Jenis 'bit' MySQL untuk Pergi: Bool atau Jenis Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!