Documentation
¶
Index ¶
- Variables
- func Create[T any, P Plugin](typ T) P
- func CreateCfg[T any](typ T) any
- func CreateWithCfg[T any, P Plugin](typ T, cfg any) P
- func Reg[T any, P Plugin](typ T, creator Creator[P], cfgCreator CfgCreator[any])
- func SetCfg[C any](p any, cfg C)
- type CfgCreator
- type CfgSetter
- type Creator
- type Plugin
- type Type
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidPluginCreator = errors.New("invalid plugin creator") ErrInvalidPluginCfgCreator = errors.New("invalid plugin cfg creator") )
Functions ¶
func CreateWithCfg ¶
创建一个注册的Plugin 这里不返回错误而是直接panic的原因是: Create函数只是把plugin创建出来,并把cfg设置到plugin中对应的一个字段里。 这里的panic分为两种情况 1. plugin不存在,说明没有注册,大部分情况是没有调用Reg 2. cfg设置失败,说明plugin本身定义的有问题 这两种情况下说明代码本身有问题,所以直接panic.
Types ¶
type CfgCreator ¶
type CfgCreator[C any] func() C
Click to show internal directories.
Click to hide internal directories.