Files
vRp.CD2g_test/utils/leaderboard

Leaderboard

Go doc

目录导航

列出了该 package 下所有的函数及类型定义,可通过目录导航进行快捷跳转 ❤️

展开 / 折叠目录导航

包级函数定义

函数名称 描述
NewBinarySearch 创建一个基于内存的二分查找排行榜
WithBinarySearchCount 通过限制排行榜竞争者数量来创建排行榜
WithBinarySearchASC 通过升序的方式创建排行榜

类型定义

类型 名称 描述
STRUCT BinarySearch 暂无描述...
STRUCT BinarySearchRankChangeEventHandle 暂无描述...
STRUCT BinarySearchOption 暂无描述...

详情信息

func NewBinarySearch(options ...BinarySearchOption[CompetitorID, Score]) *BinarySearch[CompetitorID, Score]

创建一个基于内存的二分查找排行榜

示例代码:


func ExampleNewBinarySearch() {
	bs := leaderboard2.NewBinarySearch[string, int](leaderboard2.WithBinarySearchCount[string, int](10))
	fmt.Println(bs != nil)
}


func WithBinarySearchCount(rankCount int) BinarySearchOption[CompetitorID, Score]

通过限制排行榜竞争者数量来创建排行榜

  • 默认情况下允许100位竞争者

func WithBinarySearchASC() BinarySearchOption[CompetitorID, Score]

通过升序的方式创建排行榜

  • 默认情况下为降序

BinarySearch STRUCT

type BinarySearch[CompetitorID comparable, Score generic.Ordered] struct {
	*binarySearchEvent[CompetitorID, Score]
	asc                         bool
	rankCount                   int
	competitors                 *mappings.SyncMap[CompetitorID, Score]
	scores                      []*scoreItem[CompetitorID, Score]
	rankChangeEventHandles      []BinarySearchRankChangeEventHandle[CompetitorID, Score]
	rankClearBeforeEventHandles []BinarySearchRankClearBeforeEventHandle[CompetitorID, Score]
}

BinarySearchRankChangeEventHandle STRUCT

type BinarySearchRankChangeEventHandle[CompetitorID comparable, Score generic.Ordered] func(leaderboard *BinarySearch[CompetitorID, Score], competitorId CompetitorID, oldRank int, oldScore Score)

BinarySearchOption STRUCT

type BinarySearchOption[CompetitorID comparable, Score generic.Ordered] func(list *BinarySearch[CompetitorID, Score])