classify

package module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var KingTime = reflect.TypeOf(time.Time{}).Kind()

KingTime 时间

Functions

This section is empty.

Types

type CData

type CData struct {
	IsCollect bool
	Name      string
	Values    *vbtkey.Tree
}

CData 分类数据

type CPath

type CPath struct {
	Name     string
	Handler  CategoryHandler
	IsValues bool
	Children map[string]*CPath
}

CPath 类别路径

type CategoryHandler

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

CategoryHandler 还回识别类别的keys. 返回的是子兄弟的类别.

type Classify

type Classify struct {
	// Name     string // 分类器的总名
	CategoryPath map[string]*CPath
	CategoryData *CData
}

Classify 分类

func New

func New() *Classify

New 创建新分类器

func (*Classify) AddCategory

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

AddCategory 设置类别的处理句柄. 返回分类的key

func (*Classify) Categorys

func (c *Classify) Categorys() (result map[string]interface{})

Categorys 返回所有数据的类别

func (*Classify) Collect

func (c *Classify) Collect()

Collect 设置类别的处理句柄. 区别于CollectCategory 没handler处理排序的返回key

func (*Classify) CollectCategory

func (c *Classify) CollectCategory(handler CategoryHandler)

CollectCategory 设置类别的处理句柄. 返回分类CategoryHandler的key. 用于排序

func (*Classify) DebugKeys

func (c *Classify) DebugKeys()

DebugKeys 用于debug打印Keys

func (*Classify) Get

func (c *Classify) Get(out interface{}, paths ...interface{})

Get 获取路径的数据. 如果paths为nil 没输入则全部

func (*Classify) Keys

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

Keys 返回所有数据的类别的key

func (*Classify) Put

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

Put 把数据压进分类器

Jump to

Keyboard shortcuts

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