Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengisih Go Struct dengan betul mengikut masanya. Medan Masa?
Isih Struktur mengikut Masanya. Medan Masa
Anda sedang cuba mengisih struct dalam Pergi mengikut medan masanya.Masa, yang telah menghadapi masalah. Serpihan kod yang anda berikan termasuk pelaksanaan isihan tersuai menggunakan sekeping struct reviews_data anda dan peta:
type timeSlice []reviews_data func (p timeSlice) Len() int { return len(p) } func (p timeSlice) Less(i, j int) bool { return p[i].date.Before(p[j].date) } func (p timeSlice) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
Walau bagaimanapun, isu anda yang dilaporkan ialah hasil tidak diisih dengan betul. Ini boleh disebabkan oleh beberapa sebab:
Penyelesaian yang Diperbaiki (Go 1.8 dan ke atas):
Menggunakan fungsi isihan.Slice yang diperkenalkan dalam Go 1.8 , anda boleh memudahkan kod pengisihan anda:
sort.Slice(timeSlice, func(i, j int) bool { return timeSlice[i].date.Before(timeSlice[j].date) })
Ini dipertingkatkan penyelesaian menggunakan fungsi pengisihan perpustakaan standard, memastikan proses pengisihan yang lebih dipercayai dan cekap.
Atas ialah kandungan terperinci Bagaimana untuk Mengisih Go Struct dengan betul mengikut masanya. Medan Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!