Documentation
¶
Index ¶
- type CategoryHandler
- type CountHandler
- type CreateCountedHandler
- type MethodType
- type Streamer
- func (stream *Streamer[T]) Add(item T)
- func (stream *Streamer[T]) AddCategory(handler CategoryHandler[T]) *Streamer[T]
- func (stream *Streamer[T]) Build(mode string, handlers ...CategoryHandler[T])
- func (stream *Streamer[T]) RangeCounted(do func(counted T) bool)
- func (stream *Streamer[T]) Seek(item T, iterfunc func(counted any) bool)
- func (stream *Streamer[T]) SeekReverse(item T, iterfunc func(counted interface{}) bool)
- func (stream *Streamer[T]) SetCountHandler(countHandler CountHandler[T]) *Streamer[T]
- func (stream *Streamer[T]) SetCreateCountedHandler(createHandler CreateCountedHandler[T]) *Streamer[T]
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CountHandler ¶ added in v1.1.0
type CountHandler[T any] func(counted T, item T)
type CreateCountedHandler ¶ added in v1.1.0
type CreateCountedHandler[T any] func(item T) T
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[T any] struct { // contains filtered or unexported fields }
Streamer 流计算. 用于分段时间聚合, 分类聚合...等
func NewStreamer ¶ added in v1.1.0
func NewStreamer[T any](mode string, handlers ...CategoryHandler[T]) *Streamer[T]
NewStreamer CreateCountedHandler CountHandler Add 都必须要使用地址传入
func (*Streamer[T]) Add ¶ added in v1.1.0
func (stream *Streamer[T]) Add(item T)
Add 添加到处理队列处理. 汇聚成counted. 通过 Seek RangeCounted获取结果
func (*Streamer[T]) AddCategory ¶ added in v1.1.0
func (stream *Streamer[T]) AddCategory(handler CategoryHandler[T]) *Streamer[T]
AddCategory 添加类别的处理方法
func (*Streamer[T]) Build ¶ added in v1.1.0
func (stream *Streamer[T]) Build(mode string, handlers ...CategoryHandler[T])
func (*Streamer[T]) RangeCounted ¶ added in v1.2.0
RangeCounted 从小到大遍历 counted 对象
func (*Streamer[T]) Seek ¶ added in v1.2.0
Seek 定位到 item 字节序列后的点. 然后从小到大遍历 [1 2 3] 参数为2 则 第一个item为2 [1 3] 参数为2 则 第一个item为3
func (*Streamer[T]) SeekReverse ¶ added in v1.2.0
Seek 定位到 item 字节序列后的点. 然后从大到小遍历 [1 2 3] 参数为2 则 第一个item为2 [1 3] 参数为2 则 第一个item为1.
func (*Streamer[T]) SetCountHandler ¶ added in v1.1.0
func (stream *Streamer[T]) SetCountHandler(countHandler CountHandler[T]) *Streamer[T]
SetCountHandler 设置计算过程
func (*Streamer[T]) SetCreateCountedHandler ¶ added in v1.1.0
func (stream *Streamer[T]) SetCreateCountedHandler(createHandler CreateCountedHandler[T]) *Streamer[T]
SetCreateCountedHandler 设置被计算生成的对象 通过所有Add item汇聚成handler 返回的结果
Click to show internal directories.
Click to hide internal directories.