Mengekalkan Jenis Data Set Tersuai Menggunakan GORM Go
Kod yang disediakan mentakrifkan benang jenis data set tersuaiUnsafeSet dan kaedah yang disertakan dengannya. Untuk mengekalkan jenis data ini menggunakan perpustakaan GORM untuk MySQL, perlu ada pelaksanaan antara muka Pengimbas dan Penilai Pemacu.
Pelaksanaan Antara Muka Pengimbas dan Pemandu
Antara muka Pengimbas digunakan untuk mengimbas nilai pangkalan data kepada nilai Go, manakala antara muka Penilai Pemandu digunakan untuk menukar nilai Go kepada nilai pemacu pangkalan data. Untuk jenis threadUnsafeSet, ini bermakna melaksanakan kaedah untuk menukar set tersuai kepada format serasi pangkalan data dan sebaliknya.
Contoh pelaksanaan mungkin kelihatan seperti ini:
func (data *threadUnsafeSet) Value() (driver.Value, error) { return data.ConvertJSONToString(), nil } func (data *threadUnsafeSet) Scan(value interface{}) error { *data = data.ConvertStringToJson(valueString) }
Dalam contoh ini , kaedah ConvertJSONToString dan ConvertStringToJson menukar set tersuai kepada dan daripada rentetan JSON, yang kemudiannya boleh disimpan dalam pangkalan data.
Dengan melaksanakan antara muka ini, GORM kini boleh memahami cara menyimpan dan mendapatkan semula jenis unsafeSet daripada pangkalan data.
Nota: Anda harus menggantikan dummy ConvertJSONToString dan Panggilan kaedah ConvertStringToJson dengan pelaksanaan sebenar yang sepadan dengan keperluan penukaran jenis data khusus anda.
Atas ialah kandungan terperinci Bagaimana Mengekalkan Jenis Data Set Go Tersuai dengan GORM dan MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!