golang 切片多引數自定義排序

2021-10-01 12:45:29 字數 621 閱讀 3163

最近有個需求是要求對兩個字段進行排序,如果用sql就比較簡單 group by desc,但是效率會很低,所以在**內實現,直接上**,taskid 降序排序 policyid公升序排序

type member struct 

type byidsort member

func (members byidsort) len() int

func (members byidsort) swap(i, j int)

func (members byidsort) less(i, j int) bool

if members[i].taskid < members[j].taskid

//policyid 公升序

return members[i].policyid < members[j].policyid

}func main() , , , ,

} sort.sort(byidsort(m))

for _, v := range m

}

輸出

v: 4

v: 3

v: 1

v: 2

golang 自定義型別

1.8 自定義型別 可將型別分為命名和未命名兩 大類。命名型別包括 bool int string 等,而 array slice map 等和具體元素型別 長度等有關,屬於未命名型別。具有相同宣告的未命名型別被視為同 一型別。具有相同基型別的指標。具有相同元素型別和 長度的 array。具有相同元...

自定義引數 Python自定義函式引數

1.種類 1 位置引數 x就是位置引數 usr bin env python coding utf 8 def power x result x x print result 2 預設引數n就是預設引數 usr bin env python coding utf 8 def power x,n 1 ...

自定義Oracle聚合函式(多引數)

直接上 看注釋吧。select zh concat str concat str value,separator,orderby from dual 建立乙個物件型別,用以傳遞多個引數 create or replace type concat str as object value varchar...