使用巢狀切片對結構體切片進行排序
在Go 中,您可以使用內建的排序包對自訂結構體切片進行排序。考慮以下程式碼,它定義了兩個結構體Parent 和Child,表示父子關係:
<code class="go">type Parent struct { id string children []Child } type Child struct { id string }</code>
假設您有一個Parent 結構體切片,並希望根據兩個條件對它們進行排序:
排序標準:
解:
提供的程式碼片段符合排序要求:
``
// 依排序需求:
return parents[i].id < parents[j].id })
sort.Slice(parents, func(i, j int) bool {
sort.Slice(parent.children, func(i, j int) bool { return parent.children[i].id < parent.children[j].id })
for _,parent := rangeparents {
}
``結果與預期輸出一致:
[{1 [{7} {8} {9}]} {2 [{4} {5} {6}]} {3 [{1} {2} {3}]}]
以上是如何根據多個條件對 Go 中具有嵌套切片的結構切片進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!