55 lines
804 B
Plaintext
55 lines
804 B
Plaintext
|
|
提供游戏内的实时排行榜功能,建议最大长度设定<=200
|
||
|
|
使用方式:
|
||
|
|
|
||
|
|
```go
|
||
|
|
package main
|
||
|
|
|
||
|
|
import (
|
||
|
|
rank_util "goutil/rank-util"
|
||
|
|
)
|
||
|
|
|
||
|
|
func main() {
|
||
|
|
// 构造对象
|
||
|
|
r := rank_util.NewRankUtil(20, compar)
|
||
|
|
|
||
|
|
// 刷新排行榜
|
||
|
|
m := &rmodel{k: "byrontest", Fap: 110}
|
||
|
|
ifChangeRank, dm := r.Refresh(m.k, m, true)
|
||
|
|
|
||
|
|
// 获取全部排行榜
|
||
|
|
tempList := r.GetAll()
|
||
|
|
|
||
|
|
// 删除某个key
|
||
|
|
isok := r.Delete("byrontest")
|
||
|
|
}
|
||
|
|
|
||
|
|
// compar
|
||
|
|
// @description: 判断对象大小,返回含义 -1:a<b 0:a=b 1:a>b
|
||
|
|
// parameter:
|
||
|
|
// @a:对象a
|
||
|
|
// @b:对象b
|
||
|
|
// return:
|
||
|
|
// @int:
|
||
|
|
func compar(a, b interface{}) int {
|
||
|
|
af := a.(*rmodel).Fap
|
||
|
|
bf := b.(*rmodel).Fap
|
||
|
|
if af > bf {
|
||
|
|
return 1
|
||
|
|
} else if af == bf {
|
||
|
|
return 0
|
||
|
|
} else {
|
||
|
|
return -1
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
type rmodel struct {
|
||
|
|
k string
|
||
|
|
Fap int
|
||
|
|
}
|
||
|
|
|
||
|
|
```
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|