classify

package module
v1.2.1 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2021 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CategoryHandler

type CategoryHandler func(item interface{}) interface{}

CategoryHandler 处理结构体字段的返回值

type Classify

type Classify struct {
	Values *treequeue.Queue
	// contains filtered or unexported fields
}

分类

func New

func New() *Classify

func NewWithMode added in v1.0.3

func NewWithMode(mode string, handlers ...CategoryHandler) *Classify

func (*Classify) AddCategory

func (clsfy *Classify) AddCategory(name string, handler CategoryHandler) *Classify

func (*Classify) Build added in v1.0.0

func (clsfy *Classify) Build(mode string, handlers ...CategoryHandler)

func (*Classify) Categorys

func (clsfy *Classify) Categorys() string

func (*Classify) Clear added in v1.2.1

func (clsfy *Classify) Clear()

func (*Classify) Collect

func (clsfy *Classify) Collect()

func (*Classify) CollectCategory

func (clsfy *Classify) CollectCategory(handler CategoryHandler)

func (*Classify) Get

func (clsfy *Classify) Get(out interface{}, vPaths ...interface{})

func (*Classify) Keys

func (clsfy *Classify) Keys(paths ...interface{}) (result []interface{})

func (*Classify) Put

func (clsfy *Classify) Put(v interface{})

func (*Classify) PutSlice added in v1.0.3

func (clsfy *Classify) PutSlice(items interface{})

type CountHandler added in v1.1.0

type CountHandler func(counted interface{}, item interface{})

type CreateCountedHandler added in v1.1.0

type CreateCountedHandler func(item interface{}) interface{}

type MethodType added in v1.2.0

type MethodType int

1 是字段( 2 是方法< 3 结尾收集@

const (
	MT_UNKNOWN MethodType = 0 // 0 未知
	MT_FIELD   MethodType = 1 // 1 字段 KEY a-zA-Z
	MT_METHOD  MethodType = 2 // 2 方法 函数 <>
	MT_COLLECT MethodType = 3 // 3 收集操作 @
)

type Streamer added in v1.1.0

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

Streamer 流计算. 用于分段时间聚合, 分类聚合...等

func NewStreamer added in v1.1.0

func NewStreamer(mode string, handlers ...CategoryHandler) *Streamer

NewStreamer CreateCountedHandler CountHandler Add 都必须要使用地址传入

func (*Streamer) Add added in v1.1.0

func (stream *Streamer) Add(item interface{})

Add 添加到处理队列处理. 汇聚成counted. 通过 Seek RangeCounted获取结果

func (*Streamer) AddCategory added in v1.1.0

func (stream *Streamer) AddCategory(handler CategoryHandler) *Streamer

AddCategory 添加类别的处理方法

func (*Streamer) Build added in v1.1.0

func (stream *Streamer) Build(mode string, handlers ...CategoryHandler)

func (*Streamer) Clear added in v1.2.1

func (stream *Streamer) Clear()

func (*Streamer) RangeCounted added in v1.2.0

func (stream *Streamer) RangeCounted(do func(counted interface{}) bool)

RangeCounted 从小到大遍历 counted 对象

func (*Streamer) SeekGE added in v1.2.1

func (stream *Streamer) SeekGE(item interface{}, iterfunc func(counted interface{}) bool)

SeekGE 定位到 item 字节序列后的点. 然后从小到大遍历 [1 2 3] 参数为2 则 第一个item为2 [1 3] 参数为2 则 第一个item为3

func (*Streamer) SeekGEReverse added in v1.2.1

func (stream *Streamer) SeekGEReverse(item interface{}, iterfunc func(counted interface{}) bool)

Seek 定位到 item 字节序列后的点. 然后从大到小遍历 [1 2 3] 参数为2 则 第一个item为2 [1 3] 参数为2 则 第一个item为1.

func (*Streamer) SetCountHandler added in v1.1.0

func (stream *Streamer) SetCountHandler(countHandler CountHandler) *Streamer

SetCountHandler 设置计算过程

func (*Streamer) SetCreateCountedHandler added in v1.1.0

func (stream *Streamer) SetCreateCountedHandler(createHandler CreateCountedHandler) *Streamer

SetCreateCountedHandler 设置被计算生成的对象 通过所有Add item汇聚成handler 返回的结果

Jump to

Keyboard shortcuts

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