docs: 优化 README.md 导航中无法跳转结构体的情况

This commit is contained in:
kercylan98 2024-01-15 10:41:10 +08:00
parent bd7a3fee6b
commit e7e679ea86
51 changed files with 480 additions and 240 deletions

View File

@ -29,8 +29,8 @@ configuration 基于配置导表功能实现的配置加载及刷新功能
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[RefreshEventHandle](#refresheventhandle)|配置刷新事件处理函数 |`STRUCT`|[RefreshEventHandle](#struct_RefreshEventHandle)|配置刷新事件处理函数
|`INTERFACE`|[Loader](#loader)|配置加载器 |`INTERFACE`|[Loader](#struct_Loader)|配置加载器
</details> </details>
@ -75,11 +75,13 @@ configuration 基于配置导表功能实现的配置加载及刷新功能
<span id="OnConfigRefreshEvent"></span> <span id="OnConfigRefreshEvent"></span>
*** ***
<span id="struct_RefreshEventHandle"></span>
### RefreshEventHandle `STRUCT` ### RefreshEventHandle `STRUCT`
配置刷新事件处理函数 配置刷新事件处理函数
```go ```go
type RefreshEventHandle func() type RefreshEventHandle func()
``` ```
<span id="struct_Loader"></span>
### Loader `INTERFACE` ### Loader `INTERFACE`
配置加载器 配置加载器
```go ```go

View File

@ -43,17 +43,17 @@ activity 活动状态管理
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Activity](#activity)|活动描述 |`STRUCT`|[Activity](#struct_Activity)|活动描述
|`STRUCT`|[Controller](#controller)|活动控制器 |`STRUCT`|[Controller](#struct_Controller)|活动控制器
|`INTERFACE`|[BasicActivityController](#basicactivitycontroller)|暂无描述... |`INTERFACE`|[BasicActivityController](#struct_BasicActivityController)|暂无描述...
|`INTERFACE`|[NoneDataActivityController](#nonedataactivitycontroller)|无数据活动控制器 |`INTERFACE`|[NoneDataActivityController](#struct_NoneDataActivityController)|无数据活动控制器
|`INTERFACE`|[GlobalDataActivityController](#globaldataactivitycontroller)|全局数据活动控制器 |`INTERFACE`|[GlobalDataActivityController](#struct_GlobalDataActivityController)|全局数据活动控制器
|`INTERFACE`|[EntityDataActivityController](#entitydataactivitycontroller)|实体数据活动控制器 |`INTERFACE`|[EntityDataActivityController](#struct_EntityDataActivityController)|实体数据活动控制器
|`INTERFACE`|[GlobalAndEntityDataActivityController](#globalandentitydataactivitycontroller)|全局数据和实体数据活动控制器 |`INTERFACE`|[GlobalAndEntityDataActivityController](#struct_GlobalAndEntityDataActivityController)|全局数据和实体数据活动控制器
|`STRUCT`|[DataMeta](#datameta)|全局活动数据 |`STRUCT`|[DataMeta](#struct_DataMeta)|全局活动数据
|`STRUCT`|[EntityDataMeta](#entitydatameta)|活动实体数据 |`STRUCT`|[EntityDataMeta](#struct_EntityDataMeta)|活动实体数据
|`STRUCT`|[UpcomingEventHandler](#upcomingeventhandler)|暂无描述... |`STRUCT`|[UpcomingEventHandler](#struct_UpcomingEventHandler)|暂无描述...
|`STRUCT`|[Options](#options)|活动选项 |`STRUCT`|[Options](#struct_Options)|活动选项
</details> </details>
@ -166,6 +166,7 @@ activity 活动状态管理
> 创建活动选项 > 创建活动选项
*** ***
<span id="struct_Activity"></span>
### Activity `STRUCT` ### Activity `STRUCT`
活动描述 活动描述
```go ```go
@ -185,6 +186,7 @@ type Activity[Type generic.Basic, ID generic.Basic] struct {
initializeData func() initializeData func()
} }
``` ```
<span id="struct_Controller"></span>
### Controller `STRUCT` ### Controller `STRUCT`
活动控制器 活动控制器
```go ```go
@ -199,6 +201,7 @@ type Controller[Type generic.Basic, ID generic.Basic, Data any, EntityID generic
mutex sync.RWMutex mutex sync.RWMutex
} }
``` ```
<span id="struct_BasicActivityController"></span>
### BasicActivityController `INTERFACE` ### BasicActivityController `INTERFACE`
```go ```go
@ -209,6 +212,7 @@ type BasicActivityController[Type generic.Basic, ID generic.Basic, Data any, Ent
Refresh(activityId ID) Refresh(activityId ID)
} }
``` ```
<span id="struct_NoneDataActivityController"></span>
### NoneDataActivityController `INTERFACE` ### NoneDataActivityController `INTERFACE`
无数据活动控制器 无数据活动控制器
```go ```go
@ -217,6 +221,7 @@ type NoneDataActivityController[Type generic.Basic, ID generic.Basic, Data any,
InitializeNoneData(handler func(activityId ID, data *DataMeta[Data])) NoneDataActivityController[Type, ID, Data, EntityID, EntityData] InitializeNoneData(handler func(activityId ID, data *DataMeta[Data])) NoneDataActivityController[Type, ID, Data, EntityID, EntityData]
} }
``` ```
<span id="struct_GlobalDataActivityController"></span>
### GlobalDataActivityController `INTERFACE` ### GlobalDataActivityController `INTERFACE`
全局数据活动控制器 全局数据活动控制器
```go ```go
@ -226,6 +231,7 @@ type GlobalDataActivityController[Type generic.Basic, ID generic.Basic, Data any
InitializeGlobalData(handler func(activityId ID, data *DataMeta[Data])) GlobalDataActivityController[Type, ID, Data, EntityID, EntityData] InitializeGlobalData(handler func(activityId ID, data *DataMeta[Data])) GlobalDataActivityController[Type, ID, Data, EntityID, EntityData]
} }
``` ```
<span id="struct_EntityDataActivityController"></span>
### EntityDataActivityController `INTERFACE` ### EntityDataActivityController `INTERFACE`
实体数据活动控制器 实体数据活动控制器
```go ```go
@ -235,6 +241,7 @@ type EntityDataActivityController[Type generic.Basic, ID generic.Basic, Data any
InitializeEntityData(handler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) EntityDataActivityController[Type, ID, Data, EntityID, EntityData] InitializeEntityData(handler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) EntityDataActivityController[Type, ID, Data, EntityID, EntityData]
} }
``` ```
<span id="struct_GlobalAndEntityDataActivityController"></span>
### GlobalAndEntityDataActivityController `INTERFACE` ### GlobalAndEntityDataActivityController `INTERFACE`
全局数据和实体数据活动控制器 全局数据和实体数据活动控制器
```go ```go
@ -245,6 +252,7 @@ type GlobalAndEntityDataActivityController[Type generic.Basic, ID generic.Basic,
InitializeGlobalAndEntityData(handler func(activityId ID, data *DataMeta[Data]), entityHandler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) GlobalAndEntityDataActivityController[Type, ID, Data, EntityID, EntityData] InitializeGlobalAndEntityData(handler func(activityId ID, data *DataMeta[Data]), entityHandler func(activityId ID, entityId EntityID, data *EntityDataMeta[EntityData])) GlobalAndEntityDataActivityController[Type, ID, Data, EntityID, EntityData]
} }
``` ```
<span id="struct_DataMeta"></span>
### DataMeta `STRUCT` ### DataMeta `STRUCT`
全局活动数据 全局活动数据
```go ```go
@ -254,6 +262,7 @@ type DataMeta[Data any] struct {
LastNewDay time.Time LastNewDay time.Time
} }
``` ```
<span id="struct_EntityDataMeta"></span>
### EntityDataMeta `STRUCT` ### EntityDataMeta `STRUCT`
活动实体数据 活动实体数据
```go ```go
@ -263,11 +272,13 @@ type EntityDataMeta[Data any] struct {
LastNewDay time.Time LastNewDay time.Time
} }
``` ```
<span id="struct_UpcomingEventHandler"></span>
### UpcomingEventHandler `STRUCT` ### UpcomingEventHandler `STRUCT`
```go ```go
type UpcomingEventHandler[ID generic.Basic] func(activityId ID) type UpcomingEventHandler[ID generic.Basic] func(activityId ID)
``` ```
<span id="struct_Options"></span>
### Options `STRUCT` ### Options `STRUCT`
活动选项 活动选项
```go ```go

View File

@ -16,13 +16,14 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[DemoActivityData](#demoactivitydata)|暂无描述... |`STRUCT`|[DemoActivityData](#struct_DemoActivityData)|暂无描述...
</details> </details>
*** ***
## 详情信息 ## 详情信息
<span id="struct_DemoActivityData"></span>
### DemoActivityData `STRUCT` ### DemoActivityData `STRUCT`
```go ```go

View File

@ -23,11 +23,11 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[TurnBased](#turnbased)|回合制 |`STRUCT`|[TurnBased](#struct_TurnBased)|回合制
|`INTERFACE`|[TurnBasedControllerInfo](#turnbasedcontrollerinfo)|暂无描述... |`INTERFACE`|[TurnBasedControllerInfo](#struct_TurnBasedControllerInfo)|暂无描述...
|`INTERFACE`|[TurnBasedControllerAction](#turnbasedcontrolleraction)|暂无描述... |`INTERFACE`|[TurnBasedControllerAction](#struct_TurnBasedControllerAction)|暂无描述...
|`STRUCT`|[TurnBasedController](#turnbasedcontroller)|回合制控制器 |`STRUCT`|[TurnBasedController](#struct_TurnBasedController)|回合制控制器
|`STRUCT`|[TurnBasedEntitySwitchEventHandler](#turnbasedentityswitcheventhandler)|暂无描述... |`STRUCT`|[TurnBasedEntitySwitchEventHandler](#struct_TurnBasedEntitySwitchEventHandler)|暂无描述...
</details> </details>
@ -40,6 +40,7 @@
> - calcNextTurnDuration 将返回下一次行动时间间隔,适用于按照速度计算下一次行动时间间隔的情况。当返回 0 时,将使用默认的行动超时时间 > - calcNextTurnDuration 将返回下一次行动时间间隔,适用于按照速度计算下一次行动时间间隔的情况。当返回 0 时,将使用默认的行动超时时间
*** ***
<span id="struct_TurnBased"></span>
### TurnBased `STRUCT` ### TurnBased `STRUCT`
回合制 回合制
```go ```go
@ -64,6 +65,7 @@ type TurnBased[CampID comparable, EntityID comparable, Camp generic.IdR[CampID],
closed bool closed bool
} }
``` ```
<span id="struct_TurnBasedControllerInfo"></span>
### TurnBasedControllerInfo `INTERFACE` ### TurnBasedControllerInfo `INTERFACE`
```go ```go
@ -77,6 +79,7 @@ type TurnBasedControllerInfo[CampID comparable, EntityID comparable, Camp generi
Stop() Stop()
} }
``` ```
<span id="struct_TurnBasedControllerAction"></span>
### TurnBasedControllerAction `INTERFACE` ### TurnBasedControllerAction `INTERFACE`
```go ```go
@ -86,6 +89,7 @@ type TurnBasedControllerAction[CampID comparable, EntityID comparable, Camp gene
Refresh(duration time.Duration) time.Time Refresh(duration time.Duration) time.Time
} }
``` ```
<span id="struct_TurnBasedController"></span>
### TurnBasedController `STRUCT` ### TurnBasedController `STRUCT`
回合制控制器 回合制控制器
```go ```go
@ -93,6 +97,7 @@ type TurnBasedController[CampID comparable, EntityID comparable, Camp generic.Id
tb *TurnBased[CampID, EntityID, Camp, Entity] tb *TurnBased[CampID, EntityID, Camp, Entity]
} }
``` ```
<span id="struct_TurnBasedEntitySwitchEventHandler"></span>
### TurnBasedEntitySwitchEventHandler `STRUCT` ### TurnBasedEntitySwitchEventHandler `STRUCT`
```go ```go

View File

@ -24,10 +24,10 @@ space 游戏中常见的空间设计,例如房间、地图等
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[RoomController](#roomcontroller)|对房间进行操作的控制器,由 RoomManager 接管后返回 |`STRUCT`|[RoomController](#struct_RoomController)|对房间进行操作的控制器,由 RoomManager 接管后返回
|`STRUCT`|[RoomManager](#roommanager)|房间管理器是用于对房间进行管理的基本单元,通过该实例可以对房间进行增删改查等操作 |`STRUCT`|[RoomManager](#struct_RoomManager)|房间管理器是用于对房间进行管理的基本单元,通过该实例可以对房间进行增删改查等操作
|`STRUCT`|[RoomAssumeControlEventHandle](#roomassumecontroleventhandle)|暂无描述... |`STRUCT`|[RoomAssumeControlEventHandle](#struct_RoomAssumeControlEventHandle)|暂无描述...
|`STRUCT`|[RoomControllerOptions](#roomcontrolleroptions)|暂无描述... |`STRUCT`|[RoomControllerOptions](#struct_RoomControllerOptions)|暂无描述...
</details> </details>
@ -54,6 +54,7 @@ func ExampleNewRoomManager() {
> 创建房间控制器选项 > 创建房间控制器选项
*** ***
<span id="struct_RoomController"></span>
### RoomController `STRUCT` ### RoomController `STRUCT`
对房间进行操作的控制器,由 RoomManager 接管后返回 对房间进行操作的控制器,由 RoomManager 接管后返回
```go ```go
@ -68,6 +69,7 @@ type RoomController[EntityID comparable, RoomID comparable, Entity generic.IdR[E
owner *EntityID owner *EntityID
} }
``` ```
<span id="struct_RoomManager"></span>
### RoomManager `STRUCT` ### RoomManager `STRUCT`
房间管理器是用于对房间进行管理的基本单元,通过该实例可以对房间进行增删改查等操作 房间管理器是用于对房间进行管理的基本单元,通过该实例可以对房间进行增删改查等操作
- 该实例是线程安全的 - 该实例是线程安全的
@ -78,11 +80,13 @@ type RoomManager[EntityID comparable, RoomID comparable, Entity generic.IdR[Enti
rooms map[RoomID]*RoomController[EntityID, RoomID, Entity, Room] rooms map[RoomID]*RoomController[EntityID, RoomID, Entity, Room]
} }
``` ```
<span id="struct_RoomAssumeControlEventHandle"></span>
### RoomAssumeControlEventHandle `STRUCT` ### RoomAssumeControlEventHandle `STRUCT`
```go ```go
type RoomAssumeControlEventHandle[EntityID comparable, RoomID comparable, Entity generic.IdR[EntityID], Room generic.IdR[RoomID]] func(controller *RoomController[EntityID, RoomID, Entity, Room]) type RoomAssumeControlEventHandle[EntityID comparable, RoomID comparable, Entity generic.IdR[EntityID], Room generic.IdR[RoomID]] func(controller *RoomController[EntityID, RoomID, Entity, Room])
``` ```
<span id="struct_RoomControllerOptions"></span>
### RoomControllerOptions `STRUCT` ### RoomControllerOptions `STRUCT`
```go ```go

View File

@ -34,11 +34,11 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Condition](#condition)|任务条件 |`STRUCT`|[Condition](#struct_Condition)|任务条件
|`STRUCT`|[RefreshTaskCounterEventHandler](#refreshtaskcountereventhandler)|暂无描述... |`STRUCT`|[RefreshTaskCounterEventHandler](#struct_RefreshTaskCounterEventHandler)|暂无描述...
|`STRUCT`|[Option](#option)|任务选项 |`STRUCT`|[Option](#struct_Option)|任务选项
|`STRUCT`|[Status](#status)|暂无描述... |`STRUCT`|[Status](#struct_Status)|暂无描述...
|`STRUCT`|[Task](#task)|是对任务信息进行描述和处理的结构体 |`STRUCT`|[Task](#struct_Task)|是对任务信息进行描述和处理的结构体
</details> </details>
@ -150,6 +150,7 @@ func TestCond(t *testing.T) {
> 生成任务 > 生成任务
*** ***
<span id="struct_Condition"></span>
### Condition `STRUCT` ### Condition `STRUCT`
任务条件 任务条件
```go ```go
@ -221,16 +222,19 @@ type Condition map[any]any
#### func (Condition) GetAny(key any) any #### func (Condition) GetAny(key any) any
> 获取特定类型的任务条件值,该值必须与预期类型一致,否则返回零值 > 获取特定类型的任务条件值,该值必须与预期类型一致,否则返回零值
*** ***
<span id="struct_RefreshTaskCounterEventHandler"></span>
### RefreshTaskCounterEventHandler `STRUCT` ### RefreshTaskCounterEventHandler `STRUCT`
```go ```go
type RefreshTaskCounterEventHandler[Trigger any] func(taskType string, trigger Trigger, count int64) type RefreshTaskCounterEventHandler[Trigger any] func(taskType string, trigger Trigger, count int64)
``` ```
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
任务选项 任务选项
```go ```go
type Option func(task *Task) type Option func(task *Task)
``` ```
<span id="struct_Status"></span>
### Status `STRUCT` ### Status `STRUCT`
```go ```go
@ -238,6 +242,7 @@ type Status byte
``` ```
#### func (Status) String() string #### func (Status) String() string
*** ***
<span id="struct_Task"></span>
### Task `STRUCT` ### Task `STRUCT`
是对任务信息进行描述和处理的结构体 是对任务信息进行描述和处理的结构体
```go ```go

View File

@ -23,9 +23,9 @@ notify 包含了对外部第三方通知的实现,如机器人消息等
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Manager](#manager)|通知管理器,可用于将通知同时发送至多个渠道 |`STRUCT`|[Manager](#struct_Manager)|通知管理器,可用于将通知同时发送至多个渠道
|`INTERFACE`|[Notify](#notify)|通用通知接口定义 |`INTERFACE`|[Notify](#struct_Notify)|通用通知接口定义
|`INTERFACE`|[Sender](#sender)|通知发送器接口声明 |`INTERFACE`|[Sender](#struct_Sender)|通知发送器接口声明
</details> </details>
@ -37,6 +37,7 @@ notify 包含了对外部第三方通知的实现,如机器人消息等
> 通过指定的 Sender 创建一个通知管理器, senders 包中提供了一些内置的 Sender > 通过指定的 Sender 创建一个通知管理器, senders 包中提供了一些内置的 Sender
*** ***
<span id="struct_Manager"></span>
### Manager `STRUCT` ### Manager `STRUCT`
通知管理器,可用于将通知同时发送至多个渠道 通知管理器,可用于将通知同时发送至多个渠道
```go ```go
@ -52,6 +53,7 @@ type Manager struct {
#### func (*Manager) Release() #### func (*Manager) Release()
> 释放通知管理器 > 释放通知管理器
*** ***
<span id="struct_Notify"></span>
### Notify `INTERFACE` ### Notify `INTERFACE`
通用通知接口定义 通用通知接口定义
```go ```go
@ -59,6 +61,7 @@ type Notify interface {
Format() (string, error) Format() (string, error)
} }
``` ```
<span id="struct_Sender"></span>
### Sender `INTERFACE` ### Sender `INTERFACE`
通知发送器接口声明 通知发送器接口声明
```go ```go

View File

@ -35,10 +35,10 @@ notifies 包含了内置通知内容的实现
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[FeiShu](#feishu)|飞书通知消息 |`STRUCT`|[FeiShu](#struct_FeiShu)|飞书通知消息
|`STRUCT`|[FeiShuMessage](#feishumessage)|暂无描述... |`STRUCT`|[FeiShuMessage](#struct_FeiShuMessage)|暂无描述...
|`STRUCT`|[FeiShuRichText](#feishurichtext)|飞书富文本结构 |`STRUCT`|[FeiShuRichText](#struct_FeiShuRichText)|飞书富文本结构
|`STRUCT`|[FeiShuRichTextContent](#feishurichtextcontent)|飞书富文本内容体 |`STRUCT`|[FeiShuRichTextContent](#struct_FeiShuRichTextContent)|飞书富文本内容体
</details> </details>
@ -147,6 +147,7 @@ notifies 包含了内置通知内容的实现
> 创建一个飞书富文本 > 创建一个飞书富文本
*** ***
<span id="struct_FeiShu"></span>
### FeiShu `STRUCT` ### FeiShu `STRUCT`
飞书通知消息 飞书通知消息
```go ```go
@ -158,11 +159,13 @@ type FeiShu struct {
#### func (*FeiShu) Format() ( string, error) #### func (*FeiShu) Format() ( string, error)
> 格式化通知内容 > 格式化通知内容
*** ***
<span id="struct_FeiShuMessage"></span>
### FeiShuMessage `STRUCT` ### FeiShuMessage `STRUCT`
```go ```go
type FeiShuMessage func(feishu *FeiShu) type FeiShuMessage func(feishu *FeiShu)
``` ```
<span id="struct_FeiShuRichText"></span>
### FeiShuRichText `STRUCT` ### FeiShuRichText `STRUCT`
飞书富文本结构 飞书富文本结构
```go ```go
@ -173,6 +176,7 @@ type FeiShuRichText struct {
#### func (*FeiShuRichText) Create(lang string, title string) *FeiShuRichTextContent #### func (*FeiShuRichText) Create(lang string, title string) *FeiShuRichTextContent
> 创建一个特定语言和标题的富文本内容 > 创建一个特定语言和标题的富文本内容
*** ***
<span id="struct_FeiShuRichTextContent"></span>
### FeiShuRichTextContent `STRUCT` ### FeiShuRichTextContent `STRUCT`
飞书富文本内容体 飞书富文本内容体
```go ```go

View File

@ -23,7 +23,7 @@ senders Package 包含了内置通知发送器的实现
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[FeiShu](#feishu)|飞书发送器 |`STRUCT`|[FeiShu](#struct_FeiShu)|飞书发送器
</details> </details>
@ -35,6 +35,7 @@ senders Package 包含了内置通知发送器的实现
> 根据特定的 webhook 地址创建飞书发送器 > 根据特定的 webhook 地址创建飞书发送器
*** ***
<span id="struct_FeiShu"></span>
### FeiShu `STRUCT` ### FeiShu `STRUCT`
飞书发送器 飞书发送器
```go ```go

View File

@ -26,43 +26,43 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`INTERFACE`|[Config](#config)|配置解析接口 |`INTERFACE`|[Config](#struct_Config)|配置解析接口
|`INTERFACE`|[DataTmpl](#datatmpl)|数据导出模板 |`INTERFACE`|[DataTmpl](#struct_DataTmpl)|数据导出模板
|`STRUCT`|[Exporter](#exporter)|导出器 |`STRUCT`|[Exporter](#struct_Exporter)|导出器
|`INTERFACE`|[Field](#field)|基本字段类型接口 |`INTERFACE`|[Field](#struct_Field)|基本字段类型接口
|`STRUCT`|[Int](#int)|暂无描述... |`STRUCT`|[Int](#struct_Int)|暂无描述...
|`STRUCT`|[Int8](#int8)|暂无描述... |`STRUCT`|[Int8](#struct_Int8)|暂无描述...
|`STRUCT`|[Int16](#int16)|暂无描述... |`STRUCT`|[Int16](#struct_Int16)|暂无描述...
|`STRUCT`|[Int32](#int32)|暂无描述... |`STRUCT`|[Int32](#struct_Int32)|暂无描述...
|`STRUCT`|[Int64](#int64)|暂无描述... |`STRUCT`|[Int64](#struct_Int64)|暂无描述...
|`STRUCT`|[Uint](#uint)|暂无描述... |`STRUCT`|[Uint](#struct_Uint)|暂无描述...
|`STRUCT`|[Uint8](#uint8)|暂无描述... |`STRUCT`|[Uint8](#struct_Uint8)|暂无描述...
|`STRUCT`|[Uint16](#uint16)|暂无描述... |`STRUCT`|[Uint16](#struct_Uint16)|暂无描述...
|`STRUCT`|[Uint32](#uint32)|暂无描述... |`STRUCT`|[Uint32](#struct_Uint32)|暂无描述...
|`STRUCT`|[Uint64](#uint64)|暂无描述... |`STRUCT`|[Uint64](#struct_Uint64)|暂无描述...
|`STRUCT`|[Float32](#float32)|暂无描述... |`STRUCT`|[Float32](#struct_Float32)|暂无描述...
|`STRUCT`|[Float64](#float64)|暂无描述... |`STRUCT`|[Float64](#struct_Float64)|暂无描述...
|`STRUCT`|[String](#string)|暂无描述... |`STRUCT`|[String](#struct_String)|暂无描述...
|`STRUCT`|[Bool](#bool)|暂无描述... |`STRUCT`|[Bool](#struct_Bool)|暂无描述...
|`STRUCT`|[Byte](#byte)|暂无描述... |`STRUCT`|[Byte](#struct_Byte)|暂无描述...
|`STRUCT`|[Rune](#rune)|暂无描述... |`STRUCT`|[Rune](#struct_Rune)|暂无描述...
|`STRUCT`|[Complex64](#complex64)|暂无描述... |`STRUCT`|[Complex64](#struct_Complex64)|暂无描述...
|`STRUCT`|[Complex128](#complex128)|暂无描述... |`STRUCT`|[Complex128](#struct_Complex128)|暂无描述...
|`STRUCT`|[Uintptr](#uintptr)|暂无描述... |`STRUCT`|[Uintptr](#struct_Uintptr)|暂无描述...
|`STRUCT`|[Double](#double)|暂无描述... |`STRUCT`|[Double](#struct_Double)|暂无描述...
|`STRUCT`|[Float](#float)|暂无描述... |`STRUCT`|[Float](#struct_Float)|暂无描述...
|`STRUCT`|[Long](#long)|暂无描述... |`STRUCT`|[Long](#struct_Long)|暂无描述...
|`STRUCT`|[Short](#short)|暂无描述... |`STRUCT`|[Short](#struct_Short)|暂无描述...
|`STRUCT`|[Char](#char)|暂无描述... |`STRUCT`|[Char](#struct_Char)|暂无描述...
|`STRUCT`|[Number](#number)|暂无描述... |`STRUCT`|[Number](#struct_Number)|暂无描述...
|`STRUCT`|[Integer](#integer)|暂无描述... |`STRUCT`|[Integer](#struct_Integer)|暂无描述...
|`STRUCT`|[Boolean](#boolean)|暂无描述... |`STRUCT`|[Boolean](#struct_Boolean)|暂无描述...
|`STRUCT`|[Loader](#loader)|配置加载器 |`STRUCT`|[Loader](#struct_Loader)|配置加载器
|`STRUCT`|[DataInfo](#datainfo)|配置数据 |`STRUCT`|[DataInfo](#struct_DataInfo)|配置数据
|`STRUCT`|[DataField](#datafield)|配置数据字段 |`STRUCT`|[DataField](#struct_DataField)|配置数据字段
|`INTERFACE`|[Tmpl](#tmpl)|配置结构模板接口 |`INTERFACE`|[Tmpl](#struct_Tmpl)|配置结构模板接口
|`STRUCT`|[TmplField](#tmplfield)|模板字段 |`STRUCT`|[TmplField](#struct_TmplField)|模板字段
|`STRUCT`|[TmplStruct](#tmplstruct)|模板结构 |`STRUCT`|[TmplStruct](#struct_TmplStruct)|模板结构
</details> </details>
@ -106,6 +106,7 @@ func TestGetFieldGolangType(t *testing.T) {
> - 加载器被用于加载配置表的数据和结构信息 > - 加载器被用于加载配置表的数据和结构信息
*** ***
<span id="struct_Config"></span>
### Config `INTERFACE` ### Config `INTERFACE`
配置解析接口 配置解析接口
- 用于将配置文件解析为可供分析的数据结构 - 用于将配置文件解析为可供分析的数据结构
@ -120,6 +121,7 @@ type Config interface {
GetData() [][]DataInfo GetData() [][]DataInfo
} }
``` ```
<span id="struct_DataTmpl"></span>
### DataTmpl `INTERFACE` ### DataTmpl `INTERFACE`
数据导出模板 数据导出模板
```go ```go
@ -127,6 +129,7 @@ type DataTmpl interface {
Render(data map[any]any) (string, error) Render(data map[any]any) (string, error)
} }
``` ```
<span id="struct_Exporter"></span>
### Exporter `STRUCT` ### Exporter `STRUCT`
导出器 导出器
```go ```go
@ -138,6 +141,7 @@ type Exporter struct{}
#### func (*Exporter) ExportData(tmpl DataTmpl, data map[any]any) ( []byte, error) #### func (*Exporter) ExportData(tmpl DataTmpl, data map[any]any) ( []byte, error)
> 导出数据 > 导出数据
*** ***
<span id="struct_Field"></span>
### Field `INTERFACE` ### Field `INTERFACE`
基本字段类型接口 基本字段类型接口
```go ```go
@ -147,6 +151,7 @@ type Field interface {
Parse(value string) any Parse(value string) any
} }
``` ```
<span id="struct_Int"></span>
### Int `STRUCT` ### Int `STRUCT`
```go ```go
@ -158,6 +163,7 @@ type Int int
*** ***
#### func (Int) Parse(value string) any #### func (Int) Parse(value string) any
*** ***
<span id="struct_Int8"></span>
### Int8 `STRUCT` ### Int8 `STRUCT`
```go ```go
@ -169,6 +175,7 @@ type Int8 int8
*** ***
#### func (Int8) Parse(value string) any #### func (Int8) Parse(value string) any
*** ***
<span id="struct_Int16"></span>
### Int16 `STRUCT` ### Int16 `STRUCT`
```go ```go
@ -180,6 +187,7 @@ type Int16 int16
*** ***
#### func (Int16) Parse(value string) any #### func (Int16) Parse(value string) any
*** ***
<span id="struct_Int32"></span>
### Int32 `STRUCT` ### Int32 `STRUCT`
```go ```go
@ -191,6 +199,7 @@ type Int32 int32
*** ***
#### func (Int32) Parse(value string) any #### func (Int32) Parse(value string) any
*** ***
<span id="struct_Int64"></span>
### Int64 `STRUCT` ### Int64 `STRUCT`
```go ```go
@ -202,6 +211,7 @@ type Int64 int64
*** ***
#### func (Int64) Parse(value string) any #### func (Int64) Parse(value string) any
*** ***
<span id="struct_Uint"></span>
### Uint `STRUCT` ### Uint `STRUCT`
```go ```go
@ -213,6 +223,7 @@ type Uint uint
*** ***
#### func (Uint) Parse(value string) any #### func (Uint) Parse(value string) any
*** ***
<span id="struct_Uint8"></span>
### Uint8 `STRUCT` ### Uint8 `STRUCT`
```go ```go
@ -224,6 +235,7 @@ type Uint8 uint8
*** ***
#### func (Uint8) Parse(value string) any #### func (Uint8) Parse(value string) any
*** ***
<span id="struct_Uint16"></span>
### Uint16 `STRUCT` ### Uint16 `STRUCT`
```go ```go
@ -235,6 +247,7 @@ type Uint16 uint16
*** ***
#### func (Uint16) Parse(value string) any #### func (Uint16) Parse(value string) any
*** ***
<span id="struct_Uint32"></span>
### Uint32 `STRUCT` ### Uint32 `STRUCT`
```go ```go
@ -246,6 +259,7 @@ type Uint32 uint32
*** ***
#### func (Uint32) Parse(value string) any #### func (Uint32) Parse(value string) any
*** ***
<span id="struct_Uint64"></span>
### Uint64 `STRUCT` ### Uint64 `STRUCT`
```go ```go
@ -257,6 +271,7 @@ type Uint64 uint64
*** ***
#### func (Uint64) Parse(value string) any #### func (Uint64) Parse(value string) any
*** ***
<span id="struct_Float32"></span>
### Float32 `STRUCT` ### Float32 `STRUCT`
```go ```go
@ -268,6 +283,7 @@ type Float32 float32
*** ***
#### func (Float32) Parse(value string) any #### func (Float32) Parse(value string) any
*** ***
<span id="struct_Float64"></span>
### Float64 `STRUCT` ### Float64 `STRUCT`
```go ```go
@ -279,6 +295,7 @@ type Float64 float64
*** ***
#### func (Float64) Parse(value string) any #### func (Float64) Parse(value string) any
*** ***
<span id="struct_String"></span>
### String `STRUCT` ### String `STRUCT`
```go ```go
@ -290,6 +307,7 @@ type String string
*** ***
#### func (String) Parse(value string) any #### func (String) Parse(value string) any
*** ***
<span id="struct_Bool"></span>
### Bool `STRUCT` ### Bool `STRUCT`
```go ```go
@ -301,6 +319,7 @@ type Bool bool
*** ***
#### func (Bool) Parse(value string) any #### func (Bool) Parse(value string) any
*** ***
<span id="struct_Byte"></span>
### Byte `STRUCT` ### Byte `STRUCT`
```go ```go
@ -312,6 +331,7 @@ type Byte byte
*** ***
#### func (Byte) Parse(value string) any #### func (Byte) Parse(value string) any
*** ***
<span id="struct_Rune"></span>
### Rune `STRUCT` ### Rune `STRUCT`
```go ```go
@ -323,6 +343,7 @@ type Rune rune
*** ***
#### func (Rune) Parse(value string) any #### func (Rune) Parse(value string) any
*** ***
<span id="struct_Complex64"></span>
### Complex64 `STRUCT` ### Complex64 `STRUCT`
```go ```go
@ -334,6 +355,7 @@ type Complex64 complex64
*** ***
#### func (Complex64) Parse(value string) any #### func (Complex64) Parse(value string) any
*** ***
<span id="struct_Complex128"></span>
### Complex128 `STRUCT` ### Complex128 `STRUCT`
```go ```go
@ -345,6 +367,7 @@ type Complex128 complex128
*** ***
#### func (Complex128) Parse(value string) any #### func (Complex128) Parse(value string) any
*** ***
<span id="struct_Uintptr"></span>
### Uintptr `STRUCT` ### Uintptr `STRUCT`
```go ```go
@ -356,6 +379,7 @@ type Uintptr uintptr
*** ***
#### func (Uintptr) Parse(value string) any #### func (Uintptr) Parse(value string) any
*** ***
<span id="struct_Double"></span>
### Double `STRUCT` ### Double `STRUCT`
```go ```go
@ -367,6 +391,7 @@ type Double float64
*** ***
#### func (Double) Parse(value string) any #### func (Double) Parse(value string) any
*** ***
<span id="struct_Float"></span>
### Float `STRUCT` ### Float `STRUCT`
```go ```go
@ -378,6 +403,7 @@ type Float float32
*** ***
#### func (Float) Parse(value string) any #### func (Float) Parse(value string) any
*** ***
<span id="struct_Long"></span>
### Long `STRUCT` ### Long `STRUCT`
```go ```go
@ -389,6 +415,7 @@ type Long int64
*** ***
#### func (Long) Parse(value string) any #### func (Long) Parse(value string) any
*** ***
<span id="struct_Short"></span>
### Short `STRUCT` ### Short `STRUCT`
```go ```go
@ -400,6 +427,7 @@ type Short int16
*** ***
#### func (Short) Parse(value string) any #### func (Short) Parse(value string) any
*** ***
<span id="struct_Char"></span>
### Char `STRUCT` ### Char `STRUCT`
```go ```go
@ -411,6 +439,7 @@ type Char int8
*** ***
#### func (Char) Parse(value string) any #### func (Char) Parse(value string) any
*** ***
<span id="struct_Number"></span>
### Number `STRUCT` ### Number `STRUCT`
```go ```go
@ -422,6 +451,7 @@ type Number float64
*** ***
#### func (Number) Parse(value string) any #### func (Number) Parse(value string) any
*** ***
<span id="struct_Integer"></span>
### Integer `STRUCT` ### Integer `STRUCT`
```go ```go
@ -433,6 +463,7 @@ type Integer int64
*** ***
#### func (Integer) Parse(value string) any #### func (Integer) Parse(value string) any
*** ***
<span id="struct_Boolean"></span>
### Boolean `STRUCT` ### Boolean `STRUCT`
```go ```go
@ -444,6 +475,7 @@ type Boolean bool
*** ***
#### func (Boolean) Parse(value string) any #### func (Boolean) Parse(value string) any
*** ***
<span id="struct_Loader"></span>
### Loader `STRUCT` ### Loader `STRUCT`
配置加载器 配置加载器
```go ```go
@ -457,6 +489,7 @@ type Loader struct {
#### func (*Loader) LoadData(config Config) map[any]any #### func (*Loader) LoadData(config Config) map[any]any
> 加载配置并得到配置数据 > 加载配置并得到配置数据
*** ***
<span id="struct_DataInfo"></span>
### DataInfo `STRUCT` ### DataInfo `STRUCT`
配置数据 配置数据
```go ```go
@ -465,6 +498,7 @@ type DataInfo struct {
Value string Value string
} }
``` ```
<span id="struct_DataField"></span>
### DataField `STRUCT` ### DataField `STRUCT`
配置数据字段 配置数据字段
```go ```go
@ -476,6 +510,7 @@ type DataField struct {
ExportType string ExportType string
} }
``` ```
<span id="struct_Tmpl"></span>
### Tmpl `INTERFACE` ### Tmpl `INTERFACE`
配置结构模板接口 配置结构模板接口
```go ```go
@ -483,6 +518,7 @@ type Tmpl interface {
Render(templates ...*TmplStruct) (string, error) Render(templates ...*TmplStruct) (string, error)
} }
``` ```
<span id="struct_TmplField"></span>
### TmplField `STRUCT` ### TmplField `STRUCT`
模板字段 模板字段
```go ```go
@ -505,6 +541,7 @@ type TmplField struct {
#### func (*TmplField) IsSlice() bool #### func (*TmplField) IsSlice() bool
> 是否是切片类型 > 是否是切片类型
*** ***
<span id="struct_TmplStruct"></span>
### TmplStruct `STRUCT` ### TmplStruct `STRUCT`
模板结构 模板结构
```go ```go

View File

@ -23,8 +23,8 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[XlsxExportType](#xlsxexporttype)|暂无描述... |`STRUCT`|[XlsxExportType](#struct_XlsxExportType)|暂无描述...
|`STRUCT`|[Xlsx](#xlsx)|内置的 Xlsx 配置 |`STRUCT`|[Xlsx](#struct_Xlsx)|内置的 Xlsx 配置
</details> </details>
@ -35,11 +35,13 @@
<span id="NewXlsx"></span> <span id="NewXlsx"></span>
*** ***
<span id="struct_XlsxExportType"></span>
### XlsxExportType `STRUCT` ### XlsxExportType `STRUCT`
```go ```go
type XlsxExportType int type XlsxExportType int
``` ```
<span id="struct_Xlsx"></span>
### Xlsx `STRUCT` ### Xlsx `STRUCT`
内置的 Xlsx 配置 内置的 Xlsx 配置
```go ```go

View File

@ -24,8 +24,8 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Golang](#golang)|配置导出模板 |`STRUCT`|[Golang](#struct_Golang)|配置导出模板
|`STRUCT`|[JSON](#json)|暂无描述... |`STRUCT`|[JSON](#struct_JSON)|暂无描述...
</details> </details>
@ -41,6 +41,7 @@
<span id="NewJSON"></span> <span id="NewJSON"></span>
*** ***
<span id="struct_Golang"></span>
### Golang `STRUCT` ### Golang `STRUCT`
配置导出模板 配置导出模板
```go ```go
@ -57,6 +58,7 @@ type Golang struct {
*** ***
#### func (*Golang) HasIndex(config *pce.TmplStruct) bool #### func (*Golang) HasIndex(config *pce.TmplStruct) bool
*** ***
<span id="struct_JSON"></span>
### JSON `STRUCT` ### JSON `STRUCT`
```go ```go

View File

@ -54,26 +54,26 @@ server 提供了包含多种网络类型的服务器实现
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Bot](#bot)|暂无描述... |`STRUCT`|[Bot](#struct_Bot)|暂无描述...
|`STRUCT`|[BotOption](#botoption)|暂无描述... |`STRUCT`|[BotOption](#struct_BotOption)|暂无描述...
|`STRUCT`|[Conn](#conn)|服务器连接单次消息的包装 |`STRUCT`|[Conn](#struct_Conn)|服务器连接单次消息的包装
|`STRUCT`|[ConsoleParams](#consoleparams)|控制台参数 |`STRUCT`|[ConsoleParams](#struct_ConsoleParams)|控制台参数
|`STRUCT`|[MessageReadyEventHandler](#messagereadyeventhandler)|暂无描述... |`STRUCT`|[MessageReadyEventHandler](#struct_MessageReadyEventHandler)|暂无描述...
|`STRUCT`|[Http](#http)|基于 gin.Engine 包装的 http 服务器 |`STRUCT`|[Http](#struct_Http)|基于 gin.Engine 包装的 http 服务器
|`STRUCT`|[HttpContext](#httpcontext)|基于 gin.Context 的 http 请求上下文 |`STRUCT`|[HttpContext](#struct_HttpContext)|基于 gin.Context 的 http 请求上下文
|`STRUCT`|[HandlerFunc](#handlerfunc)|暂无描述... |`STRUCT`|[HandlerFunc](#struct_HandlerFunc)|暂无描述...
|`STRUCT`|[ContextPacker](#contextpacker)|暂无描述... |`STRUCT`|[ContextPacker](#struct_ContextPacker)|暂无描述...
|`STRUCT`|[HttpRouter](#httprouter)|暂无描述... |`STRUCT`|[HttpRouter](#struct_HttpRouter)|暂无描述...
|`STRUCT`|[HttpWrapperHandleFunc](#httpwrapperhandlefunc)|暂无描述... |`STRUCT`|[HttpWrapperHandleFunc](#struct_HttpWrapperHandleFunc)|暂无描述...
|`STRUCT`|[HttpWrapper](#httpwrapper)|http 包装器 |`STRUCT`|[HttpWrapper](#struct_HttpWrapper)|http 包装器
|`STRUCT`|[HttpWrapperGroup](#httpwrappergroup)|http 包装器 |`STRUCT`|[HttpWrapperGroup](#struct_HttpWrapperGroup)|http 包装器
|`STRUCT`|[MessageType](#messagetype)|暂无描述... |`STRUCT`|[MessageType](#struct_MessageType)|暂无描述...
|`STRUCT`|[Message](#message)|服务器消息 |`STRUCT`|[Message](#struct_Message)|服务器消息
|`STRUCT`|[MultipleServer](#multipleserver)|暂无描述... |`STRUCT`|[MultipleServer](#struct_MultipleServer)|暂无描述...
|`STRUCT`|[Network](#network)|暂无描述... |`STRUCT`|[Network](#struct_Network)|暂无描述...
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
|`STRUCT`|[Server](#server)|网络服务器 |`STRUCT`|[Server](#struct_Server)|网络服务器
|`INTERFACE`|[Service](#service)|兼容传统 service 设计模式的接口 |`INTERFACE`|[Service](#struct_Service)|兼容传统 service 设计模式的接口
</details> </details>
@ -385,6 +385,7 @@ func TestBindService(t *testing.T) {
*** ***
<span id="struct_Bot"></span>
### Bot `STRUCT` ### Bot `STRUCT`
```go ```go
@ -413,11 +414,13 @@ type Bot struct {
#### func (*Bot) SendWSPacket(wst int, packet []byte) #### func (*Bot) SendWSPacket(wst int, packet []byte)
> 发送 WebSocket 数据包到服务器 > 发送 WebSocket 数据包到服务器
*** ***
<span id="struct_BotOption"></span>
### BotOption `STRUCT` ### BotOption `STRUCT`
```go ```go
type BotOption func(bot *Bot) type BotOption func(bot *Bot)
``` ```
<span id="struct_Conn"></span>
### Conn `STRUCT` ### Conn `STRUCT`
服务器连接单次消息的包装 服务器连接单次消息的包装
```go ```go
@ -501,6 +504,7 @@ type Conn struct {
#### func (*Conn) Close(err ...error) #### func (*Conn) Close(err ...error)
> 关闭连接 > 关闭连接
*** ***
<span id="struct_ConsoleParams"></span>
### ConsoleParams `STRUCT` ### ConsoleParams `STRUCT`
控制台参数 控制台参数
```go ```go
@ -527,11 +531,13 @@ type ConsoleParams map[string][]string
#### func (ConsoleParams) Clear() #### func (ConsoleParams) Clear()
> 清空参数 > 清空参数
*** ***
<span id="struct_MessageReadyEventHandler"></span>
### MessageReadyEventHandler `STRUCT` ### MessageReadyEventHandler `STRUCT`
```go ```go
type MessageReadyEventHandler func(srv *Server) type MessageReadyEventHandler func(srv *Server)
``` ```
<span id="struct_Http"></span>
### Http `STRUCT` ### Http `STRUCT`
基于 gin.Engine 包装的 http 服务器 基于 gin.Engine 包装的 http 服务器
```go ```go
@ -543,6 +549,7 @@ type Http[Context any] struct {
``` ```
#### func (*Http) Gin() *gin.Engine #### func (*Http) Gin() *gin.Engine
*** ***
<span id="struct_HttpContext"></span>
### HttpContext `STRUCT` ### HttpContext `STRUCT`
基于 gin.Context 的 http 请求上下文 基于 gin.Context 的 http 请求上下文
```go ```go
@ -556,16 +563,19 @@ type HttpContext struct {
#### func (*HttpContext) ReadTo(dest any) error #### func (*HttpContext) ReadTo(dest any) error
> 读取请求数据到指定结构体,如果失败则返回错误 > 读取请求数据到指定结构体,如果失败则返回错误
*** ***
<span id="struct_HandlerFunc"></span>
### HandlerFunc `STRUCT` ### HandlerFunc `STRUCT`
```go ```go
type HandlerFunc[Context any] func(ctx Context) type HandlerFunc[Context any] func(ctx Context)
``` ```
<span id="struct_ContextPacker"></span>
### ContextPacker `STRUCT` ### ContextPacker `STRUCT`
```go ```go
type ContextPacker[Context any] func(ctx *gin.Context) Context type ContextPacker[Context any] func(ctx *gin.Context) Context
``` ```
<span id="struct_HttpRouter"></span>
### HttpRouter `STRUCT` ### HttpRouter `STRUCT`
```go ```go
@ -639,11 +649,13 @@ type HttpRouter[Context any] struct {
#### func (*HttpRouter) Use(middleware ...HandlerFunc[Context]) *HttpRouter[Context] #### func (*HttpRouter) Use(middleware ...HandlerFunc[Context]) *HttpRouter[Context]
> 将中间件附加到路由组。 > 将中间件附加到路由组。
*** ***
<span id="struct_HttpWrapperHandleFunc"></span>
### HttpWrapperHandleFunc `STRUCT` ### HttpWrapperHandleFunc `STRUCT`
```go ```go
type HttpWrapperHandleFunc[CTX any] func(ctx CTX) type HttpWrapperHandleFunc[CTX any] func(ctx CTX)
``` ```
<span id="struct_HttpWrapper"></span>
### HttpWrapper `STRUCT` ### HttpWrapper `STRUCT`
http 包装器 http 包装器
```go ```go
@ -703,6 +715,7 @@ type HttpWrapper[CTX any] struct {
#### func (*HttpWrapper) Group(relativePath string, handlers ...HttpWrapperHandleFunc[CTX]) *HttpWrapperGroup[CTX] #### func (*HttpWrapper) Group(relativePath string, handlers ...HttpWrapperHandleFunc[CTX]) *HttpWrapperGroup[CTX]
> 创建一个新的路由组。您应该添加所有具有共同中间件的路由。 > 创建一个新的路由组。您应该添加所有具有共同中间件的路由。
*** ***
<span id="struct_HttpWrapperGroup"></span>
### HttpWrapperGroup `STRUCT` ### HttpWrapperGroup `STRUCT`
http 包装器 http 包装器
```go ```go
@ -738,6 +751,7 @@ type HttpWrapperGroup[CTX any] struct {
#### func (*HttpWrapperGroup) Group(relativePath string, handlers ...HttpWrapperHandleFunc[CTX]) *HttpWrapperGroup[CTX] #### func (*HttpWrapperGroup) Group(relativePath string, handlers ...HttpWrapperHandleFunc[CTX]) *HttpWrapperGroup[CTX]
> 创建分组 > 创建分组
*** ***
<span id="struct_MessageType"></span>
### MessageType `STRUCT` ### MessageType `STRUCT`
```go ```go
@ -746,6 +760,7 @@ type MessageType byte
#### func (MessageType) String() string #### func (MessageType) String() string
> 返回消息类型的字符串表示 > 返回消息类型的字符串表示
*** ***
<span id="struct_Message"></span>
### Message `STRUCT` ### Message `STRUCT`
服务器消息 服务器消息
```go ```go
@ -771,6 +786,7 @@ type Message struct {
#### func (*Message) String() string #### func (*Message) String() string
> 返回消息的字符串表示 > 返回消息的字符串表示
*** ***
<span id="struct_MultipleServer"></span>
### MultipleServer `STRUCT` ### MultipleServer `STRUCT`
```go ```go
@ -787,6 +803,7 @@ type MultipleServer struct {
*** ***
#### func (*MultipleServer) OnExitEvent() #### func (*MultipleServer) OnExitEvent()
*** ***
<span id="struct_Network"></span>
### Network `STRUCT` ### Network `STRUCT`
```go ```go
@ -795,11 +812,13 @@ type Network string
#### func (Network) IsSocket() bool #### func (Network) IsSocket() bool
> 返回当前服务器的网络模式是否为 Socket 模式 > 返回当前服务器的网络模式是否为 Socket 模式
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go
type Option func(srv *Server) type Option func(srv *Server)
``` ```
<span id="struct_Server"></span>
### Server `STRUCT` ### Server `STRUCT`
网络服务器 网络服务器
```go ```go
@ -966,6 +985,7 @@ func ExampleServer_Run() {
#### func (*Server) HasMessageStatistics() bool #### func (*Server) HasMessageStatistics() bool
> 是否了开启消息统计 > 是否了开启消息统计
*** ***
<span id="struct_Service"></span>
### Service `INTERFACE` ### Service `INTERFACE`
兼容传统 service 设计模式的接口 兼容传统 service 设计模式的接口
```go ```go

View File

@ -27,13 +27,13 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Client](#client)|客户端 |`STRUCT`|[Client](#struct_Client)|客户端
|`INTERFACE`|[Core](#core)|暂无描述... |`INTERFACE`|[Core](#struct_Core)|暂无描述...
|`STRUCT`|[ConnectionClosedEventHandle](#connectionclosedeventhandle)|暂无描述... |`STRUCT`|[ConnectionClosedEventHandle](#struct_ConnectionClosedEventHandle)|暂无描述...
|`STRUCT`|[Packet](#packet)|暂无描述... |`STRUCT`|[Packet](#struct_Packet)|暂无描述...
|`STRUCT`|[TCP](#tcp)|暂无描述... |`STRUCT`|[TCP](#struct_TCP)|暂无描述...
|`STRUCT`|[UnixDomainSocket](#unixdomainsocket)|暂无描述... |`STRUCT`|[UnixDomainSocket](#struct_UnixDomainSocket)|暂无描述...
|`STRUCT`|[Websocket](#websocket)|websocket 客户端 |`STRUCT`|[Websocket](#struct_Websocket)|websocket 客户端
</details> </details>
@ -63,6 +63,7 @@
> 创建 websocket 客户端 > 创建 websocket 客户端
*** ***
<span id="struct_Client"></span>
### Client `STRUCT` ### Client `STRUCT`
客户端 客户端
```go ```go
@ -138,6 +139,7 @@ func TestClient_WriteWS(t *testing.T) {
#### func (*Client) GetServerAddr() string #### func (*Client) GetServerAddr() string
> 获取服务器地址 > 获取服务器地址
*** ***
<span id="struct_Core"></span>
### Core `INTERFACE` ### Core `INTERFACE`
```go ```go
@ -149,11 +151,13 @@ type Core interface {
Clone() Core Clone() Core
} }
``` ```
<span id="struct_ConnectionClosedEventHandle"></span>
### ConnectionClosedEventHandle `STRUCT` ### ConnectionClosedEventHandle `STRUCT`
```go ```go
type ConnectionClosedEventHandle func(conn *Client, err any) type ConnectionClosedEventHandle func(conn *Client, err any)
``` ```
<span id="struct_Packet"></span>
### Packet `STRUCT` ### Packet `STRUCT`
```go ```go
@ -163,6 +167,7 @@ type Packet struct {
callback func(err error) callback func(err error)
} }
``` ```
<span id="struct_TCP"></span>
### TCP `STRUCT` ### TCP `STRUCT`
```go ```go
@ -182,6 +187,7 @@ type TCP struct {
*** ***
#### func (*TCP) Clone() Core #### func (*TCP) Clone() Core
*** ***
<span id="struct_UnixDomainSocket"></span>
### UnixDomainSocket `STRUCT` ### UnixDomainSocket `STRUCT`
```go ```go
@ -243,6 +249,7 @@ func TestUnixDomainSocket_Write(t *testing.T) {
*** ***
#### func (*UnixDomainSocket) Clone() Core #### func (*UnixDomainSocket) Clone() Core
*** ***
<span id="struct_Websocket"></span>
### Websocket `STRUCT` ### Websocket `STRUCT`
websocket 客户端 websocket 客户端
```go ```go

View File

@ -32,13 +32,13 @@ gateway 是用于处理服务器消息的网关模块,适用于对客户端消
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Endpoint](#endpoint)|网关端点 |`STRUCT`|[Endpoint](#struct_Endpoint)|网关端点
|`STRUCT`|[EndpointOption](#endpointoption)|网关端点选项 |`STRUCT`|[EndpointOption](#struct_EndpointOption)|网关端点选项
|`STRUCT`|[ConnectionOpenedEventHandle](#connectionopenedeventhandle)|暂无描述... |`STRUCT`|[ConnectionOpenedEventHandle](#struct_ConnectionOpenedEventHandle)|暂无描述...
|`STRUCT`|[EndpointSelector](#endpointselector)|暂无描述... |`STRUCT`|[EndpointSelector](#struct_EndpointSelector)|暂无描述...
|`STRUCT`|[Gateway](#gateway)|基于 server.Server 实现的网关服务器 |`STRUCT`|[Gateway](#struct_Gateway)|基于 server.Server 实现的网关服务器
|`STRUCT`|[Option](#option)|网关选项 |`STRUCT`|[Option](#struct_Option)|网关选项
|`INTERFACE`|[Scanner](#scanner)|端点扫描器 |`INTERFACE`|[Scanner](#struct_Scanner)|端点扫描器
</details> </details>
@ -105,6 +105,7 @@ gateway 是用于处理服务器消息的网关模块,适用于对客户端消
> - | ipv4(4) | port(2) | cost(4) | packet | > - | ipv4(4) | port(2) | cost(4) | packet |
*** ***
<span id="struct_Endpoint"></span>
### Endpoint `STRUCT` ### Endpoint `STRUCT`
网关端点 网关端点
- 每一个端点均表示了一个目标服务,网关会将数据包转发到该端点,由该端点负责将数据包转发到目标服务。 - 每一个端点均表示了一个目标服务,网关会将数据包转发到该端点,由该端点负责将数据包转发到目标服务。
@ -141,21 +142,25 @@ type Endpoint struct {
> 转发数据包到该端点 > 转发数据包到该端点
> - 端点在处理数据包时,应区分数据包为普通直连数据包还是网关数据包。可通过 UnmarshalGatewayOutPacket 进行数据包解析,当解析失败且无其他数据包协议时,可认为该数据包为普通直连数据包。 > - 端点在处理数据包时,应区分数据包为普通直连数据包还是网关数据包。可通过 UnmarshalGatewayOutPacket 进行数据包解析,当解析失败且无其他数据包协议时,可认为该数据包为普通直连数据包。
*** ***
<span id="struct_EndpointOption"></span>
### EndpointOption `STRUCT` ### EndpointOption `STRUCT`
网关端点选项 网关端点选项
```go ```go
type EndpointOption func(endpoint *Endpoint) type EndpointOption func(endpoint *Endpoint)
``` ```
<span id="struct_ConnectionOpenedEventHandle"></span>
### ConnectionOpenedEventHandle `STRUCT` ### ConnectionOpenedEventHandle `STRUCT`
```go ```go
type ConnectionOpenedEventHandle func(gateway *Gateway, conn *server.Conn) type ConnectionOpenedEventHandle func(gateway *Gateway, conn *server.Conn)
``` ```
<span id="struct_EndpointSelector"></span>
### EndpointSelector `STRUCT` ### EndpointSelector `STRUCT`
```go ```go
type EndpointSelector func(endpoints []*Endpoint) *Endpoint type EndpointSelector func(endpoints []*Endpoint) *Endpoint
``` ```
<span id="struct_Gateway"></span>
### Gateway `STRUCT` ### Gateway `STRUCT`
基于 server.Server 实现的网关服务器 基于 server.Server 实现的网关服务器
- 网关服务器是一个特殊的服务器,它会通过扫描器扫描端点列表,然后连接到端点列表中的所有端点,当端点连接成功后,网关服务器会将客户端的连接数据转发到端点服务器 - 网关服务器是一个特殊的服务器,它会通过扫描器扫描端点列表,然后连接到端点列表中的所有端点,当端点连接成功后,网关服务器会将客户端的连接数据转发到端点服务器
@ -230,11 +235,13 @@ func TestGateway_Run(t *testing.T) {
#### func (*Gateway) SwitchEndpoint(source *Endpoint, dest *Endpoint) #### func (*Gateway) SwitchEndpoint(source *Endpoint, dest *Endpoint)
> 将端点端点的所有连接切换到另一个端点 > 将端点端点的所有连接切换到另一个端点
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
网关选项 网关选项
```go ```go
type Option func(gateway *Gateway) type Option func(gateway *Gateway)
``` ```
<span id="struct_Scanner"></span>
### Scanner `INTERFACE` ### Scanner `INTERFACE`
端点扫描器 端点扫描器
```go ```go

View File

@ -24,12 +24,12 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Action](#action)|消息分发器操作器,用于暴露外部可操作的消息分发器函数 |`STRUCT`|[Action](#struct_Action)|消息分发器操作器,用于暴露外部可操作的消息分发器函数
|`STRUCT`|[Handler](#handler)|消息处理器 |`STRUCT`|[Handler](#struct_Handler)|消息处理器
|`STRUCT`|[Dispatcher](#dispatcher)|用于服务器消息处理的消息分发器 |`STRUCT`|[Dispatcher](#struct_Dispatcher)|用于服务器消息处理的消息分发器
|`STRUCT`|[Manager](#manager)|消息分发器管理器 |`STRUCT`|[Manager](#struct_Manager)|消息分发器管理器
|`INTERFACE`|[Message](#message)|暂无描述... |`INTERFACE`|[Message](#struct_Message)|暂无描述...
|`INTERFACE`|[Producer](#producer)|暂无描述... |`INTERFACE`|[Producer](#struct_Producer)|暂无描述...
</details> </details>
@ -165,6 +165,7 @@ func TestNewManager(t *testing.T) {
*** ***
<span id="struct_Action"></span>
### Action `STRUCT` ### Action `STRUCT`
消息分发器操作器,用于暴露外部可操作的消息分发器函数 消息分发器操作器,用于暴露外部可操作的消息分发器函数
```go ```go
@ -173,11 +174,13 @@ type Action[P Producer, M Message[P]] struct {
d *Dispatcher[P, M] d *Dispatcher[P, M]
} }
``` ```
<span id="struct_Handler"></span>
### Handler `STRUCT` ### Handler `STRUCT`
消息处理器 消息处理器
```go ```go
type Handler[P Producer, M Message[P]] func(dispatcher *Dispatcher[P, M], message M) type Handler[P Producer, M Message[P]] func(dispatcher *Dispatcher[P, M], message M)
``` ```
<span id="struct_Dispatcher"></span>
### Dispatcher `STRUCT` ### Dispatcher `STRUCT`
用于服务器消息处理的消息分发器 用于服务器消息处理的消息分发器
@ -207,6 +210,7 @@ type Dispatcher[P Producer, M Message[P]] struct {
abort chan struct{} abort chan struct{}
} }
``` ```
<span id="struct_Manager"></span>
### Manager `STRUCT` ### Manager `STRUCT`
消息分发器管理器 消息分发器管理器
```go ```go
@ -223,6 +227,7 @@ type Manager[P Producer, M Message[P]] struct {
createdHandler func(name string) createdHandler func(name string)
} }
``` ```
<span id="struct_Message"></span>
### Message `INTERFACE` ### Message `INTERFACE`
```go ```go
@ -230,6 +235,7 @@ type Message[P comparable] interface {
GetProducer() P GetProducer() P
} }
``` ```
<span id="struct_Producer"></span>
### Producer `INTERFACE` ### Producer `INTERFACE`
```go ```go

View File

@ -16,14 +16,15 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Ants](#ants)|暂无描述... |`STRUCT`|[Ants](#struct_Ants)|暂无描述...
|`STRUCT`|[GNet](#gnet)|暂无描述... |`STRUCT`|[GNet](#struct_GNet)|暂无描述...
</details> </details>
*** ***
## 详情信息 ## 详情信息
<span id="struct_Ants"></span>
### Ants `STRUCT` ### Ants `STRUCT`
```go ```go
@ -31,6 +32,7 @@ type Ants struct{}
``` ```
#### func (*Ants) Printf(format string, args ...interface {}) #### func (*Ants) Printf(format string, args ...interface {})
*** ***
<span id="struct_GNet"></span>
### GNet `STRUCT` ### GNet `STRUCT`
```go ```go

View File

@ -27,10 +27,10 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`INTERFACE`|[Client](#client)|帧同步客户端接口定义 |`INTERFACE`|[Client](#struct_Client)|帧同步客户端接口定义
|`STRUCT`|[StoppedEventHandle](#stoppedeventhandle)|暂无描述... |`STRUCT`|[StoppedEventHandle](#struct_StoppedEventHandle)|暂无描述...
|`STRUCT`|[Lockstep](#lockstep)|锁步(帧)同步默认实现 |`STRUCT`|[Lockstep](#struct_Lockstep)|锁步(帧)同步默认实现
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
</details> </details>
@ -108,6 +108,7 @@ func TestNewLockstep(t *testing.T) {
> - 默认情况下为 0即第一帧索引为 0 > - 默认情况下为 0即第一帧索引为 0
*** ***
<span id="struct_Client"></span>
### Client `INTERFACE` ### Client `INTERFACE`
帧同步客户端接口定义 帧同步客户端接口定义
- 客户端应该具备ID及写入数据包的实现 - 客户端应该具备ID及写入数据包的实现
@ -117,11 +118,13 @@ type Client[ID comparable] interface {
Write(packet []byte, callback ...func(err error)) Write(packet []byte, callback ...func(err error))
} }
``` ```
<span id="struct_StoppedEventHandle"></span>
### StoppedEventHandle `STRUCT` ### StoppedEventHandle `STRUCT`
```go ```go
type StoppedEventHandle[ClientID comparable, Command any] func(lockstep *Lockstep[ClientID, Command]) type StoppedEventHandle[ClientID comparable, Command any] func(lockstep *Lockstep[ClientID, Command])
``` ```
<span id="struct_Lockstep"></span>
### Lockstep `STRUCT` ### Lockstep `STRUCT`
锁步(帧)同步默认实现 锁步(帧)同步默认实现
- 支持最大帧上限 WithFrameLimit - 支持最大帧上限 WithFrameLimit
@ -149,6 +152,7 @@ type Lockstep[ClientID comparable, Command any] struct {
lockstepStoppedEventHandles []StoppedEventHandle[ClientID, Command] lockstepStoppedEventHandles []StoppedEventHandle[ClientID, Command]
} }
``` ```
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go

View File

@ -24,9 +24,9 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[MultistageBind](#multistagebind)|多级分类路由绑定函数 |`STRUCT`|[MultistageBind](#struct_MultistageBind)|多级分类路由绑定函数
|`STRUCT`|[Multistage](#multistage)|支持多级分类的路由器 |`STRUCT`|[Multistage](#struct_Multistage)|支持多级分类的路由器
|`STRUCT`|[MultistageOption](#multistageoption)|路由器选项 |`STRUCT`|[MultistageOption](#struct_MultistageOption)|路由器选项
</details> </details>
@ -53,6 +53,7 @@ func ExampleNewMultistage() {
> - 将在路由注册前对路由进行对应处理 > - 将在路由注册前对路由进行对应处理
*** ***
<span id="struct_MultistageBind"></span>
### MultistageBind `STRUCT` ### MultistageBind `STRUCT`
多级分类路由绑定函数 多级分类路由绑定函数
```go ```go
@ -61,6 +62,7 @@ type MultistageBind[HandleFunc any] func(HandleFunc)
#### func (MultistageBind) Bind(handleFunc HandleFunc) #### func (MultistageBind) Bind(handleFunc HandleFunc)
> 将处理函数绑定到预设的路由中 > 将处理函数绑定到预设的路由中
*** ***
<span id="struct_Multistage"></span>
### Multistage `STRUCT` ### Multistage `STRUCT`
支持多级分类的路由器 支持多级分类的路由器
```go ```go
@ -164,6 +166,7 @@ func ExampleMultistage_Sub() {
``` ```
*** ***
<span id="struct_MultistageOption"></span>
### MultistageOption `STRUCT` ### MultistageOption `STRUCT`
路由器选项 路由器选项
```go ```go

View File

@ -24,9 +24,9 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Channel](#channel)|基于 chan 的写循环,与 Unbounded 相同,但是使用 Channel 实现 |`STRUCT`|[Channel](#struct_Channel)|基于 chan 的写循环,与 Unbounded 相同,但是使用 Channel 实现
|`STRUCT`|[Unbounded](#unbounded)|写循环 |`STRUCT`|[Unbounded](#struct_Unbounded)|写循环
|`INTERFACE`|[WriteLoop](#writeloop)|暂无描述... |`INTERFACE`|[WriteLoop](#struct_WriteLoop)|暂无描述...
</details> </details>
@ -106,6 +106,7 @@ func TestNewUnbounded(t *testing.T) {
*** ***
<span id="struct_Channel"></span>
### Channel `STRUCT` ### Channel `STRUCT`
基于 chan 的写循环,与 Unbounded 相同,但是使用 Channel 实现 基于 chan 的写循环,与 Unbounded 相同,但是使用 Channel 实现
```go ```go
@ -119,6 +120,7 @@ type Channel[T any] struct {
#### func (*Channel) Close() #### func (*Channel) Close()
> 关闭写循环 > 关闭写循环
*** ***
<span id="struct_Unbounded"></span>
### Unbounded `STRUCT` ### Unbounded `STRUCT`
写循环 写循环
- 用于将数据并发安全的写入到底层连接 - 用于将数据并发安全的写入到底层连接
@ -217,6 +219,7 @@ func TestUnbounded_Close(t *testing.T) {
*** ***
<span id="struct_WriteLoop"></span>
### WriteLoop `INTERFACE` ### WriteLoop `INTERFACE`
```go ```go

View File

@ -28,9 +28,9 @@ AOI 问题是在大规模多人在线游戏中常见的问题,它涉及到确
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[TwoDimensional](#twodimensional)|暂无描述... |`STRUCT`|[TwoDimensional](#struct_TwoDimensional)|暂无描述...
|`INTERFACE`|[TwoDimensionalEntity](#twodimensionalentity)|基于2D定义的AOI对象功能接口 |`INTERFACE`|[TwoDimensionalEntity](#struct_TwoDimensionalEntity)|基于2D定义的AOI对象功能接口
|`STRUCT`|[EntityJoinVisionEventHandle](#entityjoinvisioneventhandle)|暂无描述... |`STRUCT`|[EntityJoinVisionEventHandle](#struct_EntityJoinVisionEventHandle)|暂无描述...
</details> </details>
@ -65,6 +65,7 @@ func TestNewTwoDimensional(t *testing.T) {
*** ***
<span id="struct_TwoDimensional"></span>
### TwoDimensional `STRUCT` ### TwoDimensional `STRUCT`
```go ```go
@ -82,6 +83,7 @@ type TwoDimensional[EID generic.Basic, PosType generic.SignedNumber, E TwoDimens
repartitionQueue []func() repartitionQueue []func()
} }
``` ```
<span id="struct_TwoDimensionalEntity"></span>
### TwoDimensionalEntity `INTERFACE` ### TwoDimensionalEntity `INTERFACE`
基于2D定义的AOI对象功能接口 基于2D定义的AOI对象功能接口
- AOI 对象提供了 AOI 系统中常用的属性,诸如位置坐标和视野范围等 - AOI 对象提供了 AOI 系统中常用的属性,诸如位置坐标和视野范围等
@ -92,6 +94,7 @@ type TwoDimensionalEntity[EID generic.Basic, PosType generic.SignedNumber] inter
GetPosition() geometry.Point[PosType] GetPosition() geometry.Point[PosType]
} }
``` ```
<span id="struct_EntityJoinVisionEventHandle"></span>
### EntityJoinVisionEventHandle `STRUCT` ### EntityJoinVisionEventHandle `STRUCT`
```go ```go

View File

@ -34,16 +34,16 @@ arrangement 包提供了一些有用的函数来处理数组的排列。
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Area](#area)|编排区域 |`STRUCT`|[Area](#struct_Area)|编排区域
|`STRUCT`|[AreaOption](#areaoption)|编排区域选项 |`STRUCT`|[AreaOption](#struct_AreaOption)|编排区域选项
|`STRUCT`|[AreaConstraintHandle](#areaconstrainthandle)|暂无描述... |`STRUCT`|[AreaConstraintHandle](#struct_AreaConstraintHandle)|暂无描述...
|`STRUCT`|[Arrangement](#arrangement)|用于针对多条数据进行合理编排的数据结构 |`STRUCT`|[Arrangement](#struct_Arrangement)|用于针对多条数据进行合理编排的数据结构
|`STRUCT`|[Editor](#editor)|提供了大量辅助函数的编辑器 |`STRUCT`|[Editor](#struct_Editor)|提供了大量辅助函数的编辑器
|`INTERFACE`|[Item](#item)|编排成员 |`INTERFACE`|[Item](#struct_Item)|编排成员
|`STRUCT`|[ItemOption](#itemoption)|编排成员选项 |`STRUCT`|[ItemOption](#struct_ItemOption)|编排成员选项
|`STRUCT`|[ItemFixedAreaHandle](#itemfixedareahandle)|暂无描述... |`STRUCT`|[ItemFixedAreaHandle](#struct_ItemFixedAreaHandle)|暂无描述...
|`STRUCT`|[Option](#option)|编排选项 |`STRUCT`|[Option](#struct_Option)|编排选项
|`STRUCT`|[ConstraintHandle](#constrainthandle)|暂无描述... |`STRUCT`|[ConstraintHandle](#struct_ConstraintHandle)|暂无描述...
</details> </details>
@ -115,6 +115,7 @@ arrangement 包提供了一些有用的函数来处理数组的排列。
> - 当所有的冲突处理函数都无法处理冲突时,将会进入下一个编排区域的尝试,如果均无法完成,将会将该成员加入到编排队列的末端,等待下一次编排 > - 当所有的冲突处理函数都无法处理冲突时,将会进入下一个编排区域的尝试,如果均无法完成,将会将该成员加入到编排队列的末端,等待下一次编排
*** ***
<span id="struct_Area"></span>
### Area `STRUCT` ### Area `STRUCT`
编排区域 编排区域
```go ```go
@ -126,16 +127,19 @@ type Area[ID comparable, AreaInfo any] struct {
evaluate AreaEvaluateHandle[ID, AreaInfo] evaluate AreaEvaluateHandle[ID, AreaInfo]
} }
``` ```
<span id="struct_AreaOption"></span>
### AreaOption `STRUCT` ### AreaOption `STRUCT`
编排区域选项 编排区域选项
```go ```go
type AreaOption[ID comparable, AreaInfo any] func(area *Area[ID, AreaInfo]) type AreaOption[ID comparable, AreaInfo any] func(area *Area[ID, AreaInfo])
``` ```
<span id="struct_AreaConstraintHandle"></span>
### AreaConstraintHandle `STRUCT` ### AreaConstraintHandle `STRUCT`
```go ```go
type AreaConstraintHandle[ID comparable, AreaInfo any] func(area *Area[ID, AreaInfo], item Item[ID]) error type AreaConstraintHandle[ID comparable, AreaInfo any] func(area *Area[ID, AreaInfo], item Item[ID]) error
``` ```
<span id="struct_Arrangement"></span>
### Arrangement `STRUCT` ### Arrangement `STRUCT`
用于针对多条数据进行合理编排的数据结构 用于针对多条数据进行合理编排的数据结构
- 我不知道这个数据结构的具体用途,但是我觉得这个数据结构应该是有用的 - 我不知道这个数据结构的具体用途,但是我觉得这个数据结构应该是有用的
@ -153,6 +157,7 @@ type Arrangement[ID comparable, AreaInfo any] struct {
conflictHandles []ConflictHandle[ID, AreaInfo] conflictHandles []ConflictHandle[ID, AreaInfo]
} }
``` ```
<span id="struct_Editor"></span>
### Editor `STRUCT` ### Editor `STRUCT`
提供了大量辅助函数的编辑器 提供了大量辅助函数的编辑器
```go ```go
@ -164,6 +169,7 @@ type Editor[ID comparable, AreaInfo any] struct {
retryCount int retryCount int
} }
``` ```
<span id="struct_Item"></span>
### Item `INTERFACE` ### Item `INTERFACE`
编排成员 编排成员
```go ```go
@ -172,21 +178,25 @@ type Item[ID comparable] interface {
Equal(item Item[ID]) bool Equal(item Item[ID]) bool
} }
``` ```
<span id="struct_ItemOption"></span>
### ItemOption `STRUCT` ### ItemOption `STRUCT`
编排成员选项 编排成员选项
```go ```go
type ItemOption[ID comparable, AreaInfo any] func(arrangement *Arrangement[ID, AreaInfo], item Item[ID]) type ItemOption[ID comparable, AreaInfo any] func(arrangement *Arrangement[ID, AreaInfo], item Item[ID])
``` ```
<span id="struct_ItemFixedAreaHandle"></span>
### ItemFixedAreaHandle `STRUCT` ### ItemFixedAreaHandle `STRUCT`
```go ```go
type ItemFixedAreaHandle[AreaInfo any] func(areaInfo AreaInfo) bool type ItemFixedAreaHandle[AreaInfo any] func(areaInfo AreaInfo) bool
``` ```
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
编排选项 编排选项
```go ```go
type Option[ID comparable, AreaInfo any] func(arrangement *Arrangement[ID, AreaInfo]) type Option[ID comparable, AreaInfo any] func(arrangement *Arrangement[ID, AreaInfo])
``` ```
<span id="struct_ConstraintHandle"></span>
### ConstraintHandle `STRUCT` ### ConstraintHandle `STRUCT`
```go ```go

View File

@ -31,9 +31,9 @@ buffer 提供了缓冲区相关的实用程序。
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Ring](#ring)|环形缓冲区 |`STRUCT`|[Ring](#struct_Ring)|环形缓冲区
|`STRUCT`|[RingUnbounded](#ringunbounded)|基于环形缓冲区实现的无界缓冲区 |`STRUCT`|[RingUnbounded](#struct_RingUnbounded)|基于环形缓冲区实现的无界缓冲区
|`STRUCT`|[Unbounded](#unbounded)|是无界缓冲区的实现 |`STRUCT`|[Unbounded](#struct_Unbounded)|是无界缓冲区的实现
</details> </details>
@ -82,6 +82,7 @@ func TestNewRing(t *testing.T) {
> - 该缓冲区的所有方法都是线程安全的,除了用于同步的互斥锁外,不会阻塞任何东西 > - 该缓冲区的所有方法都是线程安全的,除了用于同步的互斥锁外,不会阻塞任何东西
*** ***
<span id="struct_Ring"></span>
### Ring `STRUCT` ### Ring `STRUCT`
环形缓冲区 环形缓冲区
```go ```go
@ -160,6 +161,7 @@ func BenchmarkRing_Write(b *testing.B) {
#### func (*Ring) Reset() #### func (*Ring) Reset()
> 重置缓冲区 > 重置缓冲区
*** ***
<span id="struct_RingUnbounded"></span>
### RingUnbounded `STRUCT` ### RingUnbounded `STRUCT`
基于环形缓冲区实现的无界缓冲区 基于环形缓冲区实现的无界缓冲区
```go ```go
@ -255,6 +257,7 @@ func TestRingUnbounded_Close(t *testing.T) {
*** ***
<span id="struct_Unbounded"></span>
### Unbounded `STRUCT` ### Unbounded `STRUCT`
是无界缓冲区的实现 是无界缓冲区的实现
```go ```go

View File

@ -133,8 +133,8 @@ collection 用于对 input 和 map 操作的工具函数
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[ComparisonHandler](#comparisonhandler)|暂无描述... |`STRUCT`|[ComparisonHandler](#struct_ComparisonHandler)|暂无描述...
|`STRUCT`|[OrderedValueGetter](#orderedvaluegetter)|暂无描述... |`STRUCT`|[OrderedValueGetter](#struct_OrderedValueGetter)|暂无描述...
</details> </details>
@ -5411,11 +5411,13 @@ func TestShuffleByClone(t *testing.T) {
*** ***
<span id="struct_ComparisonHandler"></span>
### ComparisonHandler `STRUCT` ### ComparisonHandler `STRUCT`
```go ```go
type ComparisonHandler[V any] func(source V) bool type ComparisonHandler[V any] func(source V) bool
``` ```
<span id="struct_OrderedValueGetter"></span>
### OrderedValueGetter `STRUCT` ### OrderedValueGetter `STRUCT`
```go ```go

View File

@ -26,10 +26,10 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Matrix](#matrix)|暂无描述... |`STRUCT`|[Matrix](#struct_Matrix)|暂无描述...
|`STRUCT`|[PagedSlice](#pagedslice)|是一个高效的动态数组,它通过分页管理内存并减少频繁的内存分配来提高性能。 |`STRUCT`|[PagedSlice](#struct_PagedSlice)|是一个高效的动态数组,它通过分页管理内存并减少频繁的内存分配来提高性能。
|`STRUCT`|[PrioritySlice](#priorityslice)|是一个优先级切片 |`STRUCT`|[PrioritySlice](#struct_PrioritySlice)|是一个优先级切片
|`STRUCT`|[SyncSlice](#syncslice)|是基于 sync.RWMutex 实现的线程安全的 slice |`STRUCT`|[SyncSlice](#struct_SyncSlice)|是基于 sync.RWMutex 实现的线程安全的 slice
</details> </details>
@ -56,6 +56,7 @@
> 创建一个 SyncSlice > 创建一个 SyncSlice
*** ***
<span id="struct_Matrix"></span>
### Matrix `STRUCT` ### Matrix `STRUCT`
```go ```go
@ -76,6 +77,7 @@ type Matrix[V any] struct {
#### func (*Matrix) Clear() #### func (*Matrix) Clear()
> 清空矩阵。 > 清空矩阵。
*** ***
<span id="struct_PagedSlice"></span>
### PagedSlice `STRUCT` ### PagedSlice `STRUCT`
是一个高效的动态数组,它通过分页管理内存并减少频繁的内存分配来提高性能。 是一个高效的动态数组,它通过分页管理内存并减少频繁的内存分配来提高性能。
```go ```go
@ -104,6 +106,7 @@ type PagedSlice[T any] struct {
#### func (*PagedSlice) Range(f func (index int, value T) bool) #### func (*PagedSlice) Range(f func (index int, value T) bool)
> 迭代 PagedSlice 中的所有元素。 > 迭代 PagedSlice 中的所有元素。
*** ***
<span id="struct_PrioritySlice"></span>
### PrioritySlice `STRUCT` ### PrioritySlice `STRUCT`
是一个优先级切片 是一个优先级切片
```go ```go
@ -181,6 +184,7 @@ func TestPrioritySlice_Append(t *testing.T) {
#### func (*PrioritySlice) String() string #### func (*PrioritySlice) String() string
> 返回切片字符串 > 返回切片字符串
*** ***
<span id="struct_SyncSlice"></span>
### SyncSlice `STRUCT` ### SyncSlice `STRUCT`
是基于 sync.RWMutex 实现的线程安全的 slice 是基于 sync.RWMutex 实现的线程安全的 slice
```go ```go

View File

@ -23,7 +23,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[SyncMap](#syncmap)|是基于 sync.RWMutex 实现的线程安全的 map |`STRUCT`|[SyncMap](#struct_SyncMap)|是基于 sync.RWMutex 实现的线程安全的 map
</details> </details>
@ -35,6 +35,7 @@
> 创建一个 SyncMap > 创建一个 SyncMap
*** ***
<span id="struct_SyncMap"></span>
### SyncMap `STRUCT` ### SyncMap `STRUCT`
是基于 sync.RWMutex 实现的线程安全的 map 是基于 sync.RWMutex 实现的线程安全的 map
- 适用于要考虑并发读写但是并发读写的频率不高的情况 - 适用于要考虑并发读写但是并发读写的频率不高的情况

View File

@ -52,13 +52,13 @@ combination 包提供了一些实用的组合函数。
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Combination](#combination)|用于从多个匹配器内提取组合的数据结构 |`STRUCT`|[Combination](#struct_Combination)|用于从多个匹配器内提取组合的数据结构
|`STRUCT`|[Option](#option)|组合器选项 |`STRUCT`|[Option](#struct_Option)|组合器选项
|`INTERFACE`|[Item](#item)|暂无描述... |`INTERFACE`|[Item](#struct_Item)|暂无描述...
|`STRUCT`|[Matcher](#matcher)|用于从一组数据内提取组合的数据结构 |`STRUCT`|[Matcher](#struct_Matcher)|用于从一组数据内提取组合的数据结构
|`STRUCT`|[MatcherOption](#matcheroption)|匹配器选项 |`STRUCT`|[MatcherOption](#struct_MatcherOption)|匹配器选项
|`STRUCT`|[Validator](#validator)|用于对组合进行验证的校验器 |`STRUCT`|[Validator](#struct_Validator)|用于对组合进行验证的校验器
|`STRUCT`|[ValidatorOption](#validatoroption)|暂无描述... |`STRUCT`|[ValidatorOption](#struct_ValidatorOption)|暂无描述...
</details> </details>
@ -241,6 +241,7 @@ combination 包提供了一些实用的组合函数。
> - getType: 用于获取组合中元素的类型,用于判断是否相同 > - getType: 用于获取组合中元素的类型,用于判断是否相同
*** ***
<span id="struct_Combination"></span>
### Combination `STRUCT` ### Combination `STRUCT`
用于从多个匹配器内提取组合的数据结构 用于从多个匹配器内提取组合的数据结构
```go ```go
@ -304,16 +305,19 @@ func TestCombination_Best(t *testing.T) {
#### func (*Combination) Worst(items []T) (name string, result []T) #### func (*Combination) Worst(items []T) (name string, result []T)
> 从一组数据中提取符合匹配器规则的最差组合 > 从一组数据中提取符合匹配器规则的最差组合
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
组合器选项 组合器选项
```go ```go
type Option[T Item] func(*Combination[T]) type Option[T Item] func(*Combination[T])
``` ```
<span id="struct_Item"></span>
### Item `INTERFACE` ### Item `INTERFACE`
```go ```go
type Item interface{} type Item interface{}
``` ```
<span id="struct_Matcher"></span>
### Matcher `STRUCT` ### Matcher `STRUCT`
用于从一组数据内提取组合的数据结构 用于从一组数据内提取组合的数据结构
```go ```go
@ -335,11 +339,13 @@ type Matcher[T Item] struct {
#### func (*Matcher) Worst(items []T) []T #### func (*Matcher) Worst(items []T) []T
> 从一组数据中提取符筛选器规则的最差组合 > 从一组数据中提取符筛选器规则的最差组合
*** ***
<span id="struct_MatcherOption"></span>
### MatcherOption `STRUCT` ### MatcherOption `STRUCT`
匹配器选项 匹配器选项
```go ```go
type MatcherOption[T Item] func(matcher *Matcher[T]) type MatcherOption[T Item] func(matcher *Matcher[T])
``` ```
<span id="struct_Validator"></span>
### Validator `STRUCT` ### Validator `STRUCT`
用于对组合进行验证的校验器 用于对组合进行验证的校验器
```go ```go
@ -382,6 +388,7 @@ func TestValidator_Validate(t *testing.T) {
*** ***
<span id="struct_ValidatorOption"></span>
### ValidatorOption `STRUCT` ### ValidatorOption `STRUCT`
```go ```go

View File

@ -24,9 +24,9 @@ deck 包中的内容用于针对一堆内容的管理,适用但不限于牌堆
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Deck](#deck)|甲板,用于针对一堆 Group 进行管理的数据结构 |`STRUCT`|[Deck](#struct_Deck)|甲板,用于针对一堆 Group 进行管理的数据结构
|`STRUCT`|[Group](#group)|甲板中的组,用于针对一堆内容进行管理的数据结构 |`STRUCT`|[Group](#struct_Group)|甲板中的组,用于针对一堆内容进行管理的数据结构
|`INTERFACE`|[Item](#item)|甲板成员 |`INTERFACE`|[Item](#struct_Item)|甲板成员
</details> </details>
@ -43,6 +43,7 @@ deck 包中的内容用于针对一堆内容的管理,适用但不限于牌堆
> 创建一个新的组 > 创建一个新的组
*** ***
<span id="struct_Deck"></span>
### Deck `STRUCT` ### Deck `STRUCT`
甲板,用于针对一堆 Group 进行管理的数据结构 甲板,用于针对一堆 Group 进行管理的数据结构
```go ```go
@ -72,6 +73,7 @@ type Deck[I Item] struct {
#### func (*Deck) GetPrev(guid int64) *Group[I] #### func (*Deck) GetPrev(guid int64) *Group[I]
> 获取特定组的上一个组 > 获取特定组的上一个组
*** ***
<span id="struct_Group"></span>
### Group `STRUCT` ### Group `STRUCT`
甲板中的组,用于针对一堆内容进行管理的数据结构 甲板中的组,用于针对一堆内容进行管理的数据结构
```go ```go
@ -126,6 +128,7 @@ type Group[I Item] struct {
#### func (*Group) GetItem(index int) I #### func (*Group) GetItem(index int) I
> 获取组中的指定内容 > 获取组中的指定内容
*** ***
<span id="struct_Item"></span>
### Item `INTERFACE` ### Item `INTERFACE`
甲板成员 甲板成员
```go ```go

View File

@ -28,8 +28,8 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[FSM](#fsm)|状态机 |`STRUCT`|[FSM](#struct_FSM)|状态机
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
</details> </details>
@ -69,6 +69,7 @@
> - 该阶段状态机的状态为新的状态,而非退出前的状态 > - 该阶段状态机的状态为新的状态,而非退出前的状态
*** ***
<span id="struct_FSM"></span>
### FSM `STRUCT` ### FSM `STRUCT`
状态机 状态机
```go ```go
@ -84,6 +85,7 @@ type FSM[State comparable, Data any] struct {
exitAfterEventHandles map[State][]func(state *FSM[State, Data]) exitAfterEventHandles map[State][]func(state *FSM[State, Data])
} }
``` ```
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go

View File

@ -23,13 +23,13 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Comment](#comment)|暂无描述... |`STRUCT`|[Comment](#struct_Comment)|暂无描述...
|`STRUCT`|[Field](#field)|暂无描述... |`STRUCT`|[Field](#struct_Field)|暂无描述...
|`STRUCT`|[File](#file)|暂无描述... |`STRUCT`|[File](#struct_File)|暂无描述...
|`STRUCT`|[Function](#function)|暂无描述... |`STRUCT`|[Function](#struct_Function)|暂无描述...
|`STRUCT`|[Package](#package)|暂无描述... |`STRUCT`|[Package](#struct_Package)|暂无描述...
|`STRUCT`|[Struct](#struct)|暂无描述... |`STRUCT`|[Struct](#struct_Struct)|暂无描述...
|`STRUCT`|[Type](#type)|暂无描述... |`STRUCT`|[Type](#struct_Type)|暂无描述...
</details> </details>
@ -60,6 +60,7 @@ func TestNewPackage(t *testing.T) {
*** ***
<span id="struct_Comment"></span>
### Comment `STRUCT` ### Comment `STRUCT`
```go ```go
@ -68,6 +69,7 @@ type Comment struct {
Clear []string Clear []string
} }
``` ```
<span id="struct_Field"></span>
### Field `STRUCT` ### Field `STRUCT`
```go ```go
@ -78,6 +80,7 @@ type Field struct {
Comments *Comment Comments *Comment
} }
``` ```
<span id="struct_File"></span>
### File `STRUCT` ### File `STRUCT`
```go ```go
@ -92,6 +95,7 @@ type File struct {
``` ```
#### func (*File) Package() string #### func (*File) Package() string
*** ***
<span id="struct_Function"></span>
### Function `STRUCT` ### Function `STRUCT`
```go ```go
@ -112,6 +116,7 @@ type Function struct {
``` ```
#### func (*Function) Code() string #### func (*Function) Code() string
*** ***
<span id="struct_Package"></span>
### Package `STRUCT` ### Package `STRUCT`
```go ```go
@ -137,6 +142,7 @@ type Package struct {
*** ***
#### func (*Package) GetBenchmarkTest(f *Function) *Function #### func (*Package) GetBenchmarkTest(f *Function) *Function
*** ***
<span id="struct_Struct"></span>
### Struct `STRUCT` ### Struct `STRUCT`
```go ```go
@ -151,6 +157,7 @@ type Struct struct {
Test bool Test bool
} }
``` ```
<span id="struct_Type"></span>
### Type `STRUCT` ### Type `STRUCT`
```go ```go

View File

@ -23,7 +23,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Builder](#builder)|暂无描述... |`STRUCT`|[Builder](#struct_Builder)|暂无描述...
</details> </details>
@ -34,6 +34,7 @@
<span id="New"></span> <span id="New"></span>
*** ***
<span id="struct_Builder"></span>
### Builder `STRUCT` ### Builder `STRUCT`
```go ```go

View File

@ -115,7 +115,7 @@ func (b *Builder) genMenus() {
structGen() structGen()
b.tableRow( b.tableRow(
super.If(structInfo.Interface, "`INTERFACE`", "`STRUCT`"), super.If(structInfo.Interface, "`INTERFACE`", "`STRUCT`"),
fmt.Sprintf("[%s](#%s)", structInfo.Name, strings.ToLower(structInfo.Name)), fmt.Sprintf("[%s](#struct_%s)", structInfo.Name, structInfo.Name),
collection.FindFirstOrDefaultInSlice(structInfo.Comments.Clear, "暂无描述..."), collection.FindFirstOrDefaultInSlice(structInfo.Comments.Clear, "暂无描述..."),
) )
} }
@ -199,6 +199,7 @@ func (b *Builder) genStructs() {
continue continue
} }
titleBuild() titleBuild()
b.newLine(fmt.Sprintf(`<span id="struct_%s"></span>`, structInfo.Name))
b.title(3, fmt.Sprintf("%s `%s`", structInfo.Name, super.If(structInfo.Interface, "INTERFACE", "STRUCT"))) b.title(3, fmt.Sprintf("%s `%s`", structInfo.Name, super.If(structInfo.Interface, "INTERFACE", "STRUCT")))
b.newLine(structInfo.Comments.Clear...) b.newLine(structInfo.Comments.Clear...)
b.newLine("```go") b.newLine("```go")

View File

@ -27,21 +27,21 @@ generic 目的在于提供一组基于泛型的用于处理通用功能的函数
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`INTERFACE`|[IdR](#idr)|暂无描述... |`INTERFACE`|[IdR](#struct_IdR)|暂无描述...
|`INTERFACE`|[IDR](#idr)|暂无描述... |`INTERFACE`|[IDR](#struct_IDR)|暂无描述...
|`INTERFACE`|[IdW](#idw)|暂无描述... |`INTERFACE`|[IdW](#struct_IdW)|暂无描述...
|`INTERFACE`|[IDW](#idw)|暂无描述... |`INTERFACE`|[IDW](#struct_IDW)|暂无描述...
|`INTERFACE`|[IdR2W](#idr2w)|暂无描述... |`INTERFACE`|[IdR2W](#struct_IdR2W)|暂无描述...
|`INTERFACE`|[IDR2W](#idr2w)|暂无描述... |`INTERFACE`|[IDR2W](#struct_IDR2W)|暂无描述...
|`INTERFACE`|[Ordered](#ordered)|可排序类型 |`INTERFACE`|[Ordered](#struct_Ordered)|可排序类型
|`INTERFACE`|[Number](#number)|数字类型 |`INTERFACE`|[Number](#struct_Number)|数字类型
|`INTERFACE`|[SignedNumber](#signednumber)|有符号数字类型 |`INTERFACE`|[SignedNumber](#struct_SignedNumber)|有符号数字类型
|`INTERFACE`|[Integer](#integer)|整数类型 |`INTERFACE`|[Integer](#struct_Integer)|整数类型
|`INTERFACE`|[Signed](#signed)|有符号整数类型 |`INTERFACE`|[Signed](#struct_Signed)|有符号整数类型
|`INTERFACE`|[Unsigned](#unsigned)|无符号整数类型 |`INTERFACE`|[Unsigned](#struct_Unsigned)|无符号整数类型
|`INTERFACE`|[UnsignedNumber](#unsignednumber)|无符号数字类型 |`INTERFACE`|[UnsignedNumber](#struct_UnsignedNumber)|无符号数字类型
|`INTERFACE`|[Float](#float)|浮点类型 |`INTERFACE`|[Float](#struct_Float)|浮点类型
|`INTERFACE`|[Basic](#basic)|基本类型 |`INTERFACE`|[Basic](#struct_Basic)|基本类型
</details> </details>
@ -63,6 +63,7 @@ generic 目的在于提供一组基于泛型的用于处理通用功能的函数
> 检查指定的值是否存在 nil > 检查指定的值是否存在 nil
*** ***
<span id="struct_IdR"></span>
### IdR `INTERFACE` ### IdR `INTERFACE`
```go ```go
@ -70,6 +71,7 @@ type IdR[ID comparable] interface {
GetId() ID GetId() ID
} }
``` ```
<span id="struct_IDR"></span>
### IDR `INTERFACE` ### IDR `INTERFACE`
```go ```go
@ -77,6 +79,7 @@ type IDR[ID comparable] interface {
GetID() ID GetID() ID
} }
``` ```
<span id="struct_IdW"></span>
### IdW `INTERFACE` ### IdW `INTERFACE`
```go ```go
@ -84,6 +87,7 @@ type IdW[ID comparable] interface {
SetId(id ID) SetId(id ID)
} }
``` ```
<span id="struct_IDW"></span>
### IDW `INTERFACE` ### IDW `INTERFACE`
```go ```go
@ -91,6 +95,7 @@ type IDW[ID comparable] interface {
SetID(id ID) SetID(id ID)
} }
``` ```
<span id="struct_IdR2W"></span>
### IdR2W `INTERFACE` ### IdR2W `INTERFACE`
```go ```go
@ -99,6 +104,7 @@ type IdR2W[ID comparable] interface {
IdW[ID] IdW[ID]
} }
``` ```
<span id="struct_IDR2W"></span>
### IDR2W `INTERFACE` ### IDR2W `INTERFACE`
```go ```go
@ -107,6 +113,7 @@ type IDR2W[ID comparable] interface {
IDW[ID] IDW[ID]
} }
``` ```
<span id="struct_Ordered"></span>
### Ordered `INTERFACE` ### Ordered `INTERFACE`
可排序类型 可排序类型
```go ```go
@ -114,6 +121,7 @@ type Ordered interface {
Integer | Float | ~string Integer | Float | ~string
} }
``` ```
<span id="struct_Number"></span>
### Number `INTERFACE` ### Number `INTERFACE`
数字类型 数字类型
```go ```go
@ -121,6 +129,7 @@ type Number interface {
Integer | Float Integer | Float
} }
``` ```
<span id="struct_SignedNumber"></span>
### SignedNumber `INTERFACE` ### SignedNumber `INTERFACE`
有符号数字类型 有符号数字类型
```go ```go
@ -128,6 +137,7 @@ type SignedNumber interface {
Signed | Float Signed | Float
} }
``` ```
<span id="struct_Integer"></span>
### Integer `INTERFACE` ### Integer `INTERFACE`
整数类型 整数类型
```go ```go
@ -135,6 +145,7 @@ type Integer interface {
Signed | Unsigned Signed | Unsigned
} }
``` ```
<span id="struct_Signed"></span>
### Signed `INTERFACE` ### Signed `INTERFACE`
有符号整数类型 有符号整数类型
```go ```go
@ -142,6 +153,7 @@ type Signed interface {
~int | ~int8 | ~int16 | ~int32 | ~int64 ~int | ~int8 | ~int16 | ~int32 | ~int64
} }
``` ```
<span id="struct_Unsigned"></span>
### Unsigned `INTERFACE` ### Unsigned `INTERFACE`
无符号整数类型 无符号整数类型
```go ```go
@ -149,6 +161,7 @@ type Unsigned interface {
UnsignedNumber | ~uintptr UnsignedNumber | ~uintptr
} }
``` ```
<span id="struct_UnsignedNumber"></span>
### UnsignedNumber `INTERFACE` ### UnsignedNumber `INTERFACE`
无符号数字类型 无符号数字类型
```go ```go
@ -156,6 +169,7 @@ type UnsignedNumber interface {
~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64
} }
``` ```
<span id="struct_Float"></span>
### Float `INTERFACE` ### Float `INTERFACE`
浮点类型 浮点类型
```go ```go
@ -163,6 +177,7 @@ type Float interface {
~float32 | ~float64 ~float32 | ~float64
} }
``` ```
<span id="struct_Basic"></span>
### Basic `INTERFACE` ### Basic `INTERFACE`
基本类型 基本类型
```go ```go

View File

@ -117,15 +117,15 @@ geometry 旨在提供一组用于处理几何形状和计算几何属性的函
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Circle](#circle)|圆形 |`STRUCT`|[Circle](#struct_Circle)|圆形
|`STRUCT`|[FloorPlan](#floorplan)|平面图 |`STRUCT`|[FloorPlan](#struct_FloorPlan)|平面图
|`STRUCT`|[Direction](#direction)|方向 |`STRUCT`|[Direction](#struct_Direction)|方向
|`STRUCT`|[LineSegment](#linesegment)|通过两个点表示一根线段 |`STRUCT`|[LineSegment](#struct_LineSegment)|通过两个点表示一根线段
|`STRUCT`|[LineSegmentCap](#linesegmentcap)|可以包含一份额外数据的线段 |`STRUCT`|[LineSegmentCap](#struct_LineSegmentCap)|可以包含一份额外数据的线段
|`STRUCT`|[Point](#point)|表示了一个由 x、y 坐标组成的点 |`STRUCT`|[Point](#struct_Point)|表示了一个由 x、y 坐标组成的点
|`STRUCT`|[PointCap](#pointcap)|表示了一个由 x、y 坐标组成的点,这个点具有一个数据容量 |`STRUCT`|[PointCap](#struct_PointCap)|表示了一个由 x、y 坐标组成的点,这个点具有一个数据容量
|`STRUCT`|[Shape](#shape)|通过多个点表示了一个形状 |`STRUCT`|[Shape](#struct_Shape)|通过多个点表示了一个形状
|`STRUCT`|[ShapeSearchOption](#shapesearchoption)|图形搜索可选项,用于 Shape.ShapeSearch 搜索支持 |`STRUCT`|[ShapeSearchOption](#struct_ShapeSearchOption)|图形搜索可选项,用于 Shape.ShapeSearch 搜索支持
</details> </details>
@ -864,6 +864,7 @@ func TestNewShapeWithString(t *testing.T) {
> 通过降序的方式进行搜索 > 通过降序的方式进行搜索
*** ***
<span id="struct_Circle"></span>
### Circle `STRUCT` ### Circle `STRUCT`
圆形 圆形
```go ```go
@ -889,6 +890,7 @@ type Circle[V generic.SignedNumber] struct {
#### func (Circle) CentroidDistance(circle Circle[V]) V #### func (Circle) CentroidDistance(circle Circle[V]) V
> 计算与另一个圆的质心距离 > 计算与另一个圆的质心距离
*** ***
<span id="struct_FloorPlan"></span>
### FloorPlan `STRUCT` ### FloorPlan `STRUCT`
平面图 平面图
```go ```go
@ -906,11 +908,13 @@ type FloorPlan []string
#### func (FloorPlan) String() string #### func (FloorPlan) String() string
> 获取平面图结果 > 获取平面图结果
*** ***
<span id="struct_Direction"></span>
### Direction `STRUCT` ### Direction `STRUCT`
方向 方向
```go ```go
type Direction uint8 type Direction uint8
``` ```
<span id="struct_LineSegment"></span>
### LineSegment `STRUCT` ### LineSegment `STRUCT`
通过两个点表示一根线段 通过两个点表示一根线段
```go ```go
@ -928,6 +932,7 @@ type LineSegment[V generic.SignedNumber] [2]Point[V]
#### func (LineSegment) GetLength() V #### func (LineSegment) GetLength() V
> 获取该线段的长度 > 获取该线段的长度
*** ***
<span id="struct_LineSegmentCap"></span>
### LineSegmentCap `STRUCT` ### LineSegmentCap `STRUCT`
可以包含一份额外数据的线段 可以包含一份额外数据的线段
```go ```go
@ -936,6 +941,7 @@ type LineSegmentCap[V generic.SignedNumber, Data any] struct {
Data Data Data Data
} }
``` ```
<span id="struct_Point"></span>
### Point `STRUCT` ### Point `STRUCT`
表示了一个由 x、y 坐标组成的点 表示了一个由 x、y 坐标组成的点
```go ```go
@ -989,6 +995,7 @@ type Point[V generic.SignedNumber] [2]V
#### func (Point) Min(point Point[V]) Point[V] #### func (Point) Min(point Point[V]) Point[V]
> 返回两个位置中每个维度的最小值组成的新的位置 > 返回两个位置中每个维度的最小值组成的新的位置
*** ***
<span id="struct_PointCap"></span>
### PointCap `STRUCT` ### PointCap `STRUCT`
表示了一个由 x、y 坐标组成的点,这个点具有一个数据容量 表示了一个由 x、y 坐标组成的点,这个点具有一个数据容量
```go ```go
@ -997,6 +1004,7 @@ type PointCap[V generic.SignedNumber, D any] struct {
Data D Data D
} }
``` ```
<span id="struct_Shape"></span>
### Shape `STRUCT` ### Shape `STRUCT`
通过多个点表示了一个形状 通过多个点表示了一个形状
```go ```go
@ -1139,6 +1147,7 @@ func ExampleShape_ShapeSearch() {
#### func (Shape) IsPointOnEdge(point Point[V]) bool #### func (Shape) IsPointOnEdge(point Point[V]) bool
> 检查点是否在该形状的一条边上 > 检查点是否在该形状的一条边上
*** ***
<span id="struct_ShapeSearchOption"></span>
### ShapeSearchOption `STRUCT` ### ShapeSearchOption `STRUCT`
图形搜索可选项,用于 Shape.ShapeSearch 搜索支持 图形搜索可选项,用于 Shape.ShapeSearch 搜索支持
```go ```go

View File

@ -28,7 +28,7 @@ astar 提供用于实现 A* 算法的函数和数据结构。A* 算法是一种
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`INTERFACE`|[Graph](#graph)|适用于 A* 算法的图数据结构接口定义,表示导航网格,其中包含了节点和连接节点的边。 |`INTERFACE`|[Graph](#struct_Graph)|适用于 A* 算法的图数据结构接口定义,表示导航网格,其中包含了节点和连接节点的边。
</details> </details>
@ -77,6 +77,7 @@ func ExampleFind() {
``` ```
*** ***
<span id="struct_Graph"></span>
### Graph `INTERFACE` ### Graph `INTERFACE`
适用于 A* 算法的图数据结构接口定义,表示导航网格,其中包含了节点和连接节点的边。 适用于 A* 算法的图数据结构接口定义,表示导航网格,其中包含了节点和连接节点的边。
```go ```go

View File

@ -27,8 +27,8 @@ dp (DistributionPattern) 提供用于在二维数组中根据不同的特征标
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[DistributionPattern](#distributionpattern)|分布图 |`STRUCT`|[DistributionPattern](#struct_DistributionPattern)|分布图
|`STRUCT`|[Link](#link)|暂无描述... |`STRUCT`|[Link](#struct_Link)|暂无描述...
</details> </details>
@ -69,6 +69,7 @@ func TestNewDistributionPattern(t *testing.T) {
*** ***
<span id="struct_DistributionPattern"></span>
### DistributionPattern `STRUCT` ### DistributionPattern `STRUCT`
分布图 分布图
```go ```go
@ -104,6 +105,7 @@ type DistributionPattern[Item any] struct {
> 通过特定的成员刷新特定位置的分布关系 > 通过特定的成员刷新特定位置的分布关系
> - 如果矩阵通过 LoadMatrixWithPos 加载,将会重定向至 Refresh > - 如果矩阵通过 LoadMatrixWithPos 加载,将会重定向至 Refresh
*** ***
<span id="struct_Link"></span>
### Link `STRUCT` ### Link `STRUCT`
```go ```go

View File

@ -23,7 +23,7 @@ matrix 提供了一个简单的二维数组的实现
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Matrix](#matrix)|二维矩阵 |`STRUCT`|[Matrix](#struct_Matrix)|二维矩阵
</details> </details>
@ -37,6 +37,7 @@ matrix 提供了一个简单的二维数组的实现
> - 该矩阵为XY而非YX > - 该矩阵为XY而非YX
*** ***
<span id="struct_Matrix"></span>
### Matrix `STRUCT` ### Matrix `STRUCT`
二维矩阵 二维矩阵
```go ```go

View File

@ -26,7 +26,7 @@ navmesh 提供了用于导航网格处理的函数和数据结构。导航网格
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[NavMesh](#navmesh)|暂无描述... |`STRUCT`|[NavMesh](#struct_NavMesh)|暂无描述...
</details> </details>
@ -54,6 +54,7 @@ navmesh 提供了用于导航网格处理的函数和数据结构。导航网格
> - 确保 NavMesh 计算精度的情况下V 建议使用 float64 类型 > - 确保 NavMesh 计算精度的情况下V 建议使用 float64 类型
*** ***
<span id="struct_NavMesh"></span>
### NavMesh `STRUCT` ### NavMesh `STRUCT`
```go ```go

View File

@ -23,7 +23,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[ObjectPool](#objectpool)|基于 sync.Pool 实现的线程安全的对象池 |`STRUCT`|[ObjectPool](#struct_ObjectPool)|基于 sync.Pool 实现的线程安全的对象池
</details> </details>
@ -89,6 +89,7 @@ func TestNewObjectPool(t *testing.T) {
*** ***
<span id="struct_ObjectPool"></span>
### ObjectPool `STRUCT` ### ObjectPool `STRUCT`
基于 sync.Pool 实现的线程安全的对象池 基于 sync.Pool 实现的线程安全的对象池
- 一些高频临时生成使用的对象可以通过 ObjectPool 进行管理,例如属性计算等 - 一些高频临时生成使用的对象可以通过 ObjectPool 进行管理,例如属性计算等

View File

@ -26,8 +26,8 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Float](#float)|暂无描述... |`STRUCT`|[Float](#struct_Float)|暂无描述...
|`STRUCT`|[Int](#int)|暂无描述... |`STRUCT`|[Int](#struct_Int)|暂无描述...
</details> </details>
@ -56,6 +56,7 @@
> - 如果字符串不是一个合法的数字,则返回 0 > - 如果字符串不是一个合法的数字,则返回 0
*** ***
<span id="struct_Float"></span>
### Float `STRUCT` ### Float `STRUCT`
```go ```go
@ -117,6 +118,7 @@ type Float big.Float
#### func (*Float) IsNegative() bool #### func (*Float) IsNegative() bool
> 是否为负数 > 是否为负数
*** ***
<span id="struct_Int"></span>
### Int `STRUCT` ### Int `STRUCT`
```go ```go

View File

@ -25,9 +25,9 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[BinarySearch](#binarysearch)|暂无描述... |`STRUCT`|[BinarySearch](#struct_BinarySearch)|暂无描述...
|`STRUCT`|[BinarySearchRankChangeEventHandle](#binarysearchrankchangeeventhandle)|暂无描述... |`STRUCT`|[BinarySearchRankChangeEventHandle](#struct_BinarySearchRankChangeEventHandle)|暂无描述...
|`STRUCT`|[BinarySearchOption](#binarysearchoption)|暂无描述... |`STRUCT`|[BinarySearchOption](#struct_BinarySearchOption)|暂无描述...
</details> </details>
@ -61,6 +61,7 @@ func ExampleNewBinarySearch() {
> - 默认情况下为降序 > - 默认情况下为降序
*** ***
<span id="struct_BinarySearch"></span>
### BinarySearch `STRUCT` ### BinarySearch `STRUCT`
```go ```go
@ -74,11 +75,13 @@ type BinarySearch[CompetitorID comparable, Score generic.Ordered] struct {
rankClearBeforeEventHandles []BinarySearchRankClearBeforeEventHandle[CompetitorID, Score] rankClearBeforeEventHandles []BinarySearchRankClearBeforeEventHandle[CompetitorID, Score]
} }
``` ```
<span id="struct_BinarySearchRankChangeEventHandle"></span>
### BinarySearchRankChangeEventHandle `STRUCT` ### BinarySearchRankChangeEventHandle `STRUCT`
```go ```go
type BinarySearchRankChangeEventHandle[CompetitorID comparable, Score generic.Ordered] func(leaderboard *BinarySearch[CompetitorID, Score], competitorId CompetitorID, oldRank int, oldScore Score) type BinarySearchRankChangeEventHandle[CompetitorID comparable, Score generic.Ordered] func(leaderboard *BinarySearch[CompetitorID, Score], competitorId CompetitorID, oldRank int, oldScore Score)
``` ```
<span id="struct_BinarySearchOption"></span>
### BinarySearchOption `STRUCT` ### BinarySearchOption `STRUCT`
```go ```go

View File

@ -77,10 +77,10 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Field](#field)|暂无描述... |`STRUCT`|[Field](#struct_Field)|暂无描述...
|`STRUCT`|[Logger](#logger)|暂无描述... |`STRUCT`|[Logger](#struct_Logger)|暂无描述...
|`STRUCT`|[MultiHandler](#multihandler)|暂无描述... |`STRUCT`|[MultiHandler](#struct_MultiHandler)|暂无描述...
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
</details> </details>
@ -393,11 +393,13 @@ func TestStack(t *testing.T) {
> 创建一个新的日志选项 > 创建一个新的日志选项
*** ***
<span id="struct_Field"></span>
### Field `STRUCT` ### Field `STRUCT`
```go ```go
type Field slog.Attr type Field slog.Attr
``` ```
<span id="struct_Logger"></span>
### Logger `STRUCT` ### Logger `STRUCT`
```go ```go
@ -405,6 +407,7 @@ type Logger struct {
*slog.Logger *slog.Logger
} }
``` ```
<span id="struct_MultiHandler"></span>
### MultiHandler `STRUCT` ### MultiHandler `STRUCT`
```go ```go
@ -420,6 +423,7 @@ type MultiHandler struct {
*** ***
#### func (MultiHandler) WithGroup(name string) slog.Handler #### func (MultiHandler) WithGroup(name string) slog.Handler
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go

View File

@ -32,13 +32,13 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Analyzer](#analyzer)|分析器 |`STRUCT`|[Analyzer](#struct_Analyzer)|分析器
|`INTERFACE`|[Flusher](#flusher)|用于刷新缓冲区的接口 |`INTERFACE`|[Flusher](#struct_Flusher)|用于刷新缓冲区的接口
|`STRUCT`|[FileFlusher](#fileflusher)|暂无描述... |`STRUCT`|[FileFlusher](#struct_FileFlusher)|暂无描述...
|`STRUCT`|[Option](#option)|选项 |`STRUCT`|[Option](#struct_Option)|选项
|`STRUCT`|[Result](#result)|暂无描述... |`STRUCT`|[Result](#struct_Result)|暂无描述...
|`STRUCT`|[R](#r)|记录器所记录的一条数据 |`STRUCT`|[R](#struct_R)|记录器所记录的一条数据
|`STRUCT`|[Report](#report)|分析报告 |`STRUCT`|[Report](#struct_Report)|分析报告
</details> </details>
@ -153,6 +153,7 @@ func TestIncrementAnalyze(t *testing.T) {
*** ***
<span id="struct_Analyzer"></span>
### Analyzer `STRUCT` ### Analyzer `STRUCT`
分析器 分析器
```go ```go
@ -214,6 +215,7 @@ type Analyzer struct {
#### func (*Analyzer) GetValueString(key string) string #### func (*Analyzer) GetValueString(key string) string
> 获取当前记录的值 > 获取当前记录的值
*** ***
<span id="struct_Flusher"></span>
### Flusher `INTERFACE` ### Flusher `INTERFACE`
用于刷新缓冲区的接口 用于刷新缓冲区的接口
```go ```go
@ -222,6 +224,7 @@ type Flusher interface {
Info() string Info() string
} }
``` ```
<span id="struct_FileFlusher"></span>
### FileFlusher `STRUCT` ### FileFlusher `STRUCT`
```go ```go
@ -237,16 +240,19 @@ type FileFlusher struct {
*** ***
#### func (*FileFlusher) Info() string #### func (*FileFlusher) Info() string
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
选项 选项
```go ```go
type Option func(logger *logger) type Option func(logger *logger)
``` ```
<span id="struct_Result"></span>
### Result `STRUCT` ### Result `STRUCT`
```go ```go
type Result gjson.Result type Result gjson.Result
``` ```
<span id="struct_R"></span>
### R `STRUCT` ### R `STRUCT`
记录器所记录的一条数据 记录器所记录的一条数据
```go ```go
@ -280,6 +286,7 @@ type R string
*** ***
#### func (R) String() string #### func (R) String() string
*** ***
<span id="struct_Report"></span>
### Report `STRUCT` ### Report `STRUCT`
分析报告 分析报告
```go ```go

View File

@ -45,7 +45,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[CompareExpression](#compareexpression)|比较表达式 |`STRUCT`|[CompareExpression](#struct_CompareExpression)|比较表达式
</details> </details>
@ -213,6 +213,7 @@ func TestMakeLastDigitsZero(t *testing.T) {
*** ***
<span id="struct_CompareExpression"></span>
### CompareExpression `STRUCT` ### CompareExpression `STRUCT`
比较表达式 比较表达式
```go ```go

View File

@ -26,7 +26,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
</details> </details>
@ -96,6 +96,7 @@ func TestBindAction(t *testing.T) {
<span id="NewOption"></span> <span id="NewOption"></span>
*** ***
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go

View File

@ -27,10 +27,10 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[TwoDimensional](#twodimensional)|用于2D对象移动的数据结构 |`STRUCT`|[TwoDimensional](#struct_TwoDimensional)|用于2D对象移动的数据结构
|`INTERFACE`|[TwoDimensionalEntity](#twodimensionalentity)|2D移动对象接口定义 |`INTERFACE`|[TwoDimensionalEntity](#struct_TwoDimensionalEntity)|2D移动对象接口定义
|`STRUCT`|[Position2DChangeEventHandle](#position2dchangeeventhandle)|暂无描述... |`STRUCT`|[Position2DChangeEventHandle](#struct_Position2DChangeEventHandle)|暂无描述...
|`STRUCT`|[TwoDimensionalOption](#twodimensionaloption)|暂无描述... |`STRUCT`|[TwoDimensionalOption](#struct_TwoDimensionalOption)|暂无描述...
</details> </details>
@ -95,6 +95,7 @@ func TestNewTwoDimensional(t *testing.T) {
<span id="NewEntity"></span> <span id="NewEntity"></span>
*** ***
<span id="struct_TwoDimensional"></span>
### TwoDimensional `STRUCT` ### TwoDimensional `STRUCT`
用于2D对象移动的数据结构 用于2D对象移动的数据结构
- 通过对象调用 MoveTo 方法后将开始执行该对象的移动 - 通过对象调用 MoveTo 方法后将开始执行该对象的移动
@ -113,6 +114,7 @@ type TwoDimensional[EID generic.Basic, PosType generic.SignedNumber] struct {
position2DStopMoveEventHandles []Position2DStopMoveEventHandle[EID, PosType] position2DStopMoveEventHandles []Position2DStopMoveEventHandle[EID, PosType]
} }
``` ```
<span id="struct_TwoDimensionalEntity"></span>
### TwoDimensionalEntity `INTERFACE` ### TwoDimensionalEntity `INTERFACE`
2D移动对象接口定义 2D移动对象接口定义
```go ```go
@ -123,11 +125,13 @@ type TwoDimensionalEntity[EID generic.Basic, PosType generic.SignedNumber] inter
SetPosition(geometry.Point[PosType]) SetPosition(geometry.Point[PosType])
} }
``` ```
<span id="struct_Position2DChangeEventHandle"></span>
### Position2DChangeEventHandle `STRUCT` ### Position2DChangeEventHandle `STRUCT`
```go ```go
type Position2DChangeEventHandle[EID generic.Basic, PosType generic.SignedNumber] func(moving *TwoDimensional[EID, PosType], entity TwoDimensionalEntity[EID, PosType], oldX PosType) type Position2DChangeEventHandle[EID generic.Basic, PosType generic.SignedNumber] func(moving *TwoDimensional[EID, PosType], entity TwoDimensionalEntity[EID, PosType], oldX PosType)
``` ```
<span id="struct_TwoDimensionalOption"></span>
### TwoDimensionalOption `STRUCT` ### TwoDimensionalOption `STRUCT`
```go ```go

View File

@ -27,7 +27,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Time](#time)|带有偏移量的时间 |`STRUCT`|[Time](#struct_Time)|带有偏移量的时间
</details> </details>
@ -59,6 +59,7 @@
> 获取当前时间偏移后的时间自从 t 以来经过的时间 > 获取当前时间偏移后的时间自从 t 以来经过的时间
*** ***
<span id="struct_Time"></span>
### Time `STRUCT` ### Time `STRUCT`
带有偏移量的时间 带有偏移量的时间
```go ```go

View File

@ -38,7 +38,7 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[Once](#once)|用于数据取值去重的结构体 |`STRUCT`|[Once](#struct_Once)|用于数据取值去重的结构体
</details> </details>
@ -125,6 +125,7 @@
> 获取一个自增的字符串 > 获取一个自增的字符串
*** ***
<span id="struct_Once"></span>
### Once `STRUCT` ### Once `STRUCT`
用于数据取值去重的结构体 用于数据取值去重的结构体
```go ```go

View File

@ -92,12 +92,12 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[BitSet](#bitset)|是一个可以动态增长的比特位集合 |`STRUCT`|[BitSet](#struct_BitSet)|是一个可以动态增长的比特位集合
|`STRUCT`|[LossCounter](#losscounter)|暂无描述... |`STRUCT`|[LossCounter](#struct_LossCounter)|暂无描述...
|`STRUCT`|[Matcher](#matcher)|匹配器 |`STRUCT`|[Matcher](#struct_Matcher)|匹配器
|`STRUCT`|[Permission](#permission)|暂无描述... |`STRUCT`|[Permission](#struct_Permission)|暂无描述...
|`STRUCT`|[StackGo](#stackgo)|用于获取上一个协程调用的堆栈信息 |`STRUCT`|[StackGo](#struct_StackGo)|用于获取上一个协程调用的堆栈信息
|`STRUCT`|[VerifyHandle](#verifyhandle)|校验句柄 |`STRUCT`|[VerifyHandle](#struct_VerifyHandle)|校验句柄
</details> </details>
@ -739,6 +739,7 @@ func BenchmarkCompareVersion(b *testing.B) {
*** ***
<span id="struct_BitSet"></span>
### BitSet `STRUCT` ### BitSet `STRUCT`
是一个可以动态增长的比特位集合 是一个可以动态增长的比特位集合
- 默认情况下将使用 64 位无符号整数来表示比特位,当需要表示的比特位超过 64 位时,将自动增长 - 默认情况下将使用 64 位无符号整数来表示比特位,当需要表示的比特位超过 64 位时,将自动增长
@ -907,6 +908,7 @@ func TestBitSet_Shrink(t *testing.T) {
#### func (*BitSet) UnmarshalJSON(data []byte) error #### func (*BitSet) UnmarshalJSON(data []byte) error
> 实现 json.Unmarshaler 接口 > 实现 json.Unmarshaler 接口
*** ***
<span id="struct_LossCounter"></span>
### LossCounter `STRUCT` ### LossCounter `STRUCT`
```go ```go
@ -924,6 +926,7 @@ type LossCounter struct {
*** ***
#### func (*LossCounter) String() string #### func (*LossCounter) String() string
*** ***
<span id="struct_Matcher"></span>
### Matcher `STRUCT` ### Matcher `STRUCT`
匹配器 匹配器
```go ```go
@ -933,6 +936,7 @@ type Matcher[Value any, Result any] struct {
d bool d bool
} }
``` ```
<span id="struct_Permission"></span>
### Permission `STRUCT` ### Permission `STRUCT`
```go ```go
@ -941,6 +945,7 @@ type Permission[Code generic.Integer, EntityID comparable] struct {
l sync.RWMutex l sync.RWMutex
} }
``` ```
<span id="struct_StackGo"></span>
### StackGo `STRUCT` ### StackGo `STRUCT`
用于获取上一个协程调用的堆栈信息 用于获取上一个协程调用的堆栈信息
- 应当最先运行 Wait 函数,然后在其他协程中调用 Stack 函数或者 GiveUp 函数 - 应当最先运行 Wait 函数,然后在其他协程中调用 Stack 函数或者 GiveUp 函数
@ -965,6 +970,7 @@ type StackGo struct {
> - 在调用 Wait 函数后调用该函数,将会放弃收集消息堆栈并且释放资源 > - 在调用 Wait 函数后调用该函数,将会放弃收集消息堆栈并且释放资源
> - 在调用 GiveUp 函数后调用 Stack 函数,将会 panic > - 在调用 GiveUp 函数后调用 Stack 函数,将会 panic
*** ***
<span id="struct_VerifyHandle"></span>
### VerifyHandle `STRUCT` ### VerifyHandle `STRUCT`
校验句柄 校验句柄
```go ```go

View File

@ -31,11 +31,11 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[SystemNewDayEventHandle](#systemnewdayeventhandle)|暂无描述... |`STRUCT`|[SystemNewDayEventHandle](#struct_SystemNewDayEventHandle)|暂无描述...
|`STRUCT`|[Option](#option)|暂无描述... |`STRUCT`|[Option](#struct_Option)|暂无描述...
|`STRUCT`|[Pool](#pool)|定时器池 |`STRUCT`|[Pool](#struct_Pool)|定时器池
|`STRUCT`|[Scheduler](#scheduler)|调度器 |`STRUCT`|[Scheduler](#struct_Scheduler)|调度器
|`STRUCT`|[Ticker](#ticker)|定时器 |`STRUCT`|[Ticker](#struct_Ticker)|定时器
</details> </details>
@ -92,16 +92,19 @@
> 获取标准池中的一个定时器 > 获取标准池中的一个定时器
*** ***
<span id="struct_SystemNewDayEventHandle"></span>
### SystemNewDayEventHandle `STRUCT` ### SystemNewDayEventHandle `STRUCT`
```go ```go
type SystemNewDayEventHandle func() type SystemNewDayEventHandle func()
``` ```
<span id="struct_Option"></span>
### Option `STRUCT` ### Option `STRUCT`
```go ```go
type Option func(ticker *Ticker) type Option func(ticker *Ticker)
``` ```
<span id="struct_Pool"></span>
### Pool `STRUCT` ### Pool `STRUCT`
定时器池 定时器池
```go ```go
@ -123,6 +126,7 @@ type Pool struct {
> 释放定时器池的资源,释放后由其产生的 Ticker 在 Ticker.Release 后将不再回到池中,而是直接释放 > 释放定时器池的资源,释放后由其产生的 Ticker 在 Ticker.Release 后将不再回到池中,而是直接释放
> - 虽然定时器池已被释放,但是依旧可以产出 Ticker > - 虽然定时器池已被释放,但是依旧可以产出 Ticker
*** ***
<span id="struct_Scheduler"></span>
### Scheduler `STRUCT` ### Scheduler `STRUCT`
调度器 调度器
```go ```go
@ -150,6 +154,7 @@ type Scheduler struct {
#### func (*Scheduler) Caller() #### func (*Scheduler) Caller()
> 可由外部发起调用的执行函数 > 可由外部发起调用的执行函数
*** ***
<span id="struct_Ticker"></span>
### Ticker `STRUCT` ### Ticker `STRUCT`
定时器 定时器
```go ```go

View File

@ -70,8 +70,8 @@
|类型|名称|描述 |类型|名称|描述
|:--|:--|:-- |:--|:--|:--
|`STRUCT`|[StateLine](#stateline)|状态时间线 |`STRUCT`|[StateLine](#struct_StateLine)|状态时间线
|`STRUCT`|[Period](#period)|表示一个时间段 |`STRUCT`|[Period](#struct_Period)|表示一个时间段
</details> </details>
@ -399,6 +399,7 @@ func TestNewPeriodWindow(t *testing.T) {
> 创建一个时间段,从 t 开始,持续 nanosecond 纳秒 > 创建一个时间段,从 t 开始,持续 nanosecond 纳秒
*** ***
<span id="struct_StateLine"></span>
### StateLine `STRUCT` ### StateLine `STRUCT`
状态时间线 状态时间线
```go ```go
@ -486,6 +487,7 @@ type StateLine[State generic.Basic] struct {
#### func (*StateLine) RangeReverse(handler func (index int, state State, t time.Time) bool) #### func (*StateLine) RangeReverse(handler func (index int, state State, t time.Time) bool)
> 按照时间逆序遍历时间线 > 按照时间逆序遍历时间线
*** ***
<span id="struct_Period"></span>
### Period `STRUCT` ### Period `STRUCT`
表示一个时间段 表示一个时间段
```go ```go