Documentation ¶
Overview ¶
Package define 利用泛型特性,简化代码编写。
- 支持定义组件。
- 支持定义插件与插件接口,按安装位置分类,共有通用插件、运行时插件、服务插件三种。
- 使用 GoLand 作为 IDE 时,需要更新至 2023.2 版本以上,否则可能会有误报错。
- 可以参考官方示例:https://git.golaxy.org/examples,学习如何使用。
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ComponentDefinition ¶ added in v0.2.58
ComponentDefinition 组件定义
type PluginDefinition ¶ added in v0.2.58
type PluginDefinition[PLUGIN_IFACE, OPTION any] struct { Name string // 插件名称 Install generic.ActionVar1[extension.PluginProvider, OPTION] // 向插件包安装 Uninstall generic.Action1[extension.PluginProvider] // 从插件包卸载 Using generic.Func1[extension.PluginProvider, PLUGIN_IFACE] // 使用插件 }
PluginDefinition 通用插件定义
type PluginInterfaceDefinition ¶ added in v0.2.58
type PluginInterfaceDefinition[PLUGIN_IFACE any] struct { Name string // 插件名称 Using generic.Func1[extension.PluginProvider, PLUGIN_IFACE] // 使用插件 }
PluginInterfaceDefinition 通用插件接口定义
func PluginInterface ¶
func PluginInterface[PLUGIN_IFACE any]() PluginInterfaceDefinition[PLUGIN_IFACE]
PluginInterface 定义通用插件接口,支持运行时和服务上下文,通常用于为同类插件的不同实现提供统一的接口
type RuntimePluginDefinition ¶ added in v0.2.58
type RuntimePluginDefinition[PLUGIN_IFACE, OPTION any] struct { Name string // 插件名称 Install generic.ActionVar1[extension.PluginProvider, OPTION] // 向插件包安装 Uninstall generic.Action1[extension.PluginProvider] // 从插件包卸载 Using generic.Func1[runtime.Context, PLUGIN_IFACE] // 使用插件 }
RuntimePluginDefinition 运行时插件定义
func RuntimePlugin ¶
func RuntimePlugin[PLUGIN_IFACE, OPTION any](creator generic.FuncVar0[OPTION, PLUGIN_IFACE]) RuntimePluginDefinition[PLUGIN_IFACE, OPTION]
RuntimePlugin 定义运行时插件,支持运行时上下文
type RuntimePluginInterfaceDefinition ¶ added in v0.2.58
type RuntimePluginInterfaceDefinition[PLUGIN_IFACE any] struct { Name string // 插件名称 Using generic.Func1[runtime.Context, PLUGIN_IFACE] // 使用插件 }
RuntimePluginInterfaceDefinition 运行时插件接口定义
func RuntimePluginInterface ¶
func RuntimePluginInterface[PLUGIN_IFACE any]() RuntimePluginInterfaceDefinition[PLUGIN_IFACE]
RuntimePluginInterface 定义运行时插件接口,支持运行时上下文,通常用于为同类插件的不同实现提供统一的接口
type ServicePluginDefinition ¶ added in v0.2.58
type ServicePluginDefinition[PLUGIN_IFACE, OPTION any] struct { Name string // 插件名称 Install generic.ActionVar1[extension.PluginProvider, OPTION] // 向插件包安装 Uninstall generic.Action1[extension.PluginProvider] // 从插件包卸载 Using generic.Func1[service.Context, PLUGIN_IFACE] // 使用插件 }
ServicePluginDefinition 服务插件定义
func ServicePlugin ¶
func ServicePlugin[PLUGIN_IFACE, OPTION any](creator generic.FuncVar0[OPTION, PLUGIN_IFACE]) ServicePluginDefinition[PLUGIN_IFACE, OPTION]
ServicePlugin 定义服务插件,支持服务上下文
type ServicePluginInterfaceDefinition ¶ added in v0.2.58
type ServicePluginInterfaceDefinition[PLUGIN_IFACE any] struct { Name string // 插件名称 Using generic.Func1[service.Context, PLUGIN_IFACE] // 使用插件 }
ServicePluginInterfaceDefinition 服务插件接口定义
func ServicePluginInterface ¶
func ServicePluginInterface[PLUGIN_IFACE any]() ServicePluginInterfaceDefinition[PLUGIN_IFACE]
ServicePluginInterface 定义服务插件接口,支持服务上下文,通常用于为同类插件的不同实现提供统一的接口
Click to show internal directories.
Click to hide internal directories.