golang snippet
go slice sort
crazybug
2022. 2. 25. 16:10
Go 1.8 부터 슬라이스를 정렬할 수 있습니다. 정렬 예는 다음과 같습니다.
단일 필드
sort.Slice(results.files, func(i, j int) bool {
return results.files[i].name < results.files[j].name
})
멀티필드
sort.Slice(results.files, func(i, j int) bool {
var sortedByFilePathonly, sortedByFileName bool
// sort by file.patholny (ascending)
sortedByFilePathonly = results.files[i].pathonly < results.files[j].pathonly
// sort by file.name (ascending)
if results.files[i].pathonly == results.files[j].pathonly {
sortedByFileName = results.files[i].name < results.files[j].name
return sortedByFileName
}
return sortedByFilePathonly
})