order

package
v0.0.0-...-9c69314 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 10, 2024 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewunsafeRingOrder

func NewunsafeRingOrder(size int) *unsafeOrder

NewunsafeRingOrder 新建一个无并非安全的环形序, 性能: 写 > 索引读 > 条件读 > 删

func Reverse

func Reverse(data []any)

Reverse 反转切片中的数据

Types

type FilterFunc

type FilterFunc func(item any) bool

type ForEachFunc

type ForEachFunc func(item any) any

type Order

type Order interface {
	// 追加数据到尾部
	Append(data ...any)
	// 删除满足过滤条件的数据
	Delete(filter FilterFunc)
	// 对环形序中的每个元素都执行一次
	DoForEach(do ForEachFunc)

	// 从头部开始获取数据
	// 获取前n条数据
	Head(size int) []any
	// 获取指定范围的数据
	HeadRange(start, size int) []any
	// 获取前n条过滤后的数据
	HeadFilter(size int, filter FilterFunc) []any
	// 获取过滤后,从索引i开始的n条数据
	HeadFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

	// 从尾部开始获取数据
	// 获取前n条数据
	Tail(size int) []any
	// 获取指定范围的数据
	TailRange(start, size int) []any
	// 获取前n条过滤后的数据
	TailFilter(size int, filter FilterFunc) []any
	// 获取过滤后,从索引i开始的n条数据
	TailFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

	// 获取当前环形序的数据大小
	GetSize() int
}

Order 定义环形序的接口

type SafeOrder

type SafeOrder struct {
	// contains filtered or unexported fields
}

SafeOrder 定义并发安全的环形列表结构

func NewSafeRingOrder

func NewSafeRingOrder(size int) *SafeOrder

NewSafeRingOrder 新建一个并非安全的环形列表

func (*SafeOrder) Append

func (own *SafeOrder) Append(data ...any)

func (*SafeOrder) Delete

func (own *SafeOrder) Delete(filter FilterFunc)

func (*SafeOrder) DoForEach

func (own *SafeOrder) DoForEach(do ForEachFunc)

func (*SafeOrder) GetSize

func (own *SafeOrder) GetSize() int

func (*SafeOrder) Head

func (own *SafeOrder) Head(size int) []any

func (*SafeOrder) HeadFilter

func (own *SafeOrder) HeadFilter(size int, filter FilterFunc) []any

func (*SafeOrder) HeadFilterRange

func (own *SafeOrder) HeadFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

func (*SafeOrder) HeadRange

func (own *SafeOrder) HeadRange(start, size int) []any

func (*SafeOrder) Tail

func (own *SafeOrder) Tail(size int) []any

func (*SafeOrder) TailFilter

func (own *SafeOrder) TailFilter(size int, filter FilterFunc) []any

func (*SafeOrder) TailFilterRange

func (own *SafeOrder) TailFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

func (*SafeOrder) TailRange

func (own *SafeOrder) TailRange(start, size int) []any

type UnsafeOrder

type UnsafeOrder struct {
	// contains filtered or unexported fields
}

UnsafeOrder 定义无并发安全的环形序结构

func NewUnsafeRingOrder

func NewUnsafeRingOrder(size int) *UnsafeOrder

NewUnsafeRingOrder 新建一个无并非安全的环形序

func (*UnsafeOrder) Append

func (own *UnsafeOrder) Append(data ...any)

func (*UnsafeOrder) Delete

func (own *UnsafeOrder) Delete(filter FilterFunc)

func (*UnsafeOrder) DoForEach

func (own *UnsafeOrder) DoForEach(do ForEachFunc)

func (*UnsafeOrder) GetSize

func (own *UnsafeOrder) GetSize() int

func (*UnsafeOrder) Head

func (own *UnsafeOrder) Head(size int) []any

func (*UnsafeOrder) HeadFilter

func (own *UnsafeOrder) HeadFilter(size int, filter FilterFunc) []any

func (*UnsafeOrder) HeadFilterRange

func (own *UnsafeOrder) HeadFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

func (*UnsafeOrder) HeadRange

func (own *UnsafeOrder) HeadRange(start, size int) []any

func (*UnsafeOrder) Tail

func (own *UnsafeOrder) Tail(size int) []any

func (*UnsafeOrder) TailFilter

func (own *UnsafeOrder) TailFilter(size int, filter FilterFunc) []any

func (*UnsafeOrder) TailFilterRange

func (own *UnsafeOrder) TailFilterRange(start, size int, filter FilterFunc) (data []any, count int, err error)

func (*UnsafeOrder) TailRange

func (own *UnsafeOrder) TailRange(start, size int) []any

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL