여러 수준의 하위 슬라이스로 복잡한 데이터 구조 정렬
이 문서에서는 슬라이스 및 하위 슬라이스가 포함된 복잡한 데이터 구조를 구성하는 방법을 살펴봅니다. 여러 정렬 요구 사항을 존중하여. 다음 시나리오를 고려하십시오.
입력 데이터 구조:
상위 구조체의 일부:
type Parent struct { id string children []Child }
각 상위에는 하위 구조체 조각이 있습니다.
type Child struct { id string }
목표 정렬:
원하는 출력:
[{1 [{7} {8} {9}]} {2 [{4} {5} {6}]} {3 [{1} {2} {3}]}]
구현:
이러한 정렬 목표를 달성하려면 다음 단계를 수행합니다.
상위 슬라이스 정렬:
sort.Slice(parents, func(i, j int) bool {return parents[i].id < parents[j].id})
이 줄은 내장된 sort.Slice 함수를 사용하여 ID 필드의 오름차순으로 상위 슬라이스를 정렬합니다.
하위 슬라이스 정렬 :
for _, parent := range parents { sort.Slice(parent.children, func(i, j int) bool {return parent.children[i].id < parent.children[j].id}) }
이 루프는 정렬된 상위 슬라이스의 각 상위를 반복하고 다른 sort.Slice 인스턴스를 사용하여 각 상위의 하위 슬라이스를 ID 필드의 오름차순으로 정렬합니다.
이러한 단계를 따르면 복잡한 데이터 구조를 효과적으로 정렬하여 지정된 정렬 요구 사항을 충족하고 원하는 출력 형식을 얻을 수 있습니다.
위 내용은 여러 수준의 하위 슬라이스로 복잡한 데이터 구조를 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!