시간을 기준으로 구조체 정렬.Time 필드
Go에서 시간을 기준으로 구조체를 정렬하려고 합니다.Time 필드, 문제가 발생한 것입니다. 제공하신 코드 조각에는 review_data 구조체 조각과 맵을 사용하는 사용자 정의 정렬 구현이 포함되어 있습니다.
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] }
그러나 보고된 문제는 결과가 올바르게 정렬되지 않는다는 것입니다. 이는 여러 가지 이유 때문일 수 있습니다.
향상된 솔루션(Go 1.8 이상):
Go 1.8에 도입된 sort.Slice 기능 사용 을 사용하면 정렬 코드를 단순화할 수 있습니다.
sort.Slice(timeSlice, func(i, j int) bool { return timeSlice[i].date.Before(timeSlice[j].date) })
이 개선된 솔루션은 표준 라이브러리의 정렬 기능을 사용하여 보다 안정적이고 효율적인 정렬 프로세스를 보장합니다.
위 내용은 Go 구조체를 시간별로 올바르게 정렬하는 방법.시간 필드?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!