# 公共库 跨多个项目共享的公共库。 ## 目录结构 - `consts`:常量定义。 - `magefiles`:不可被mage工具执行,提供了一些公共的target和数据结构,供每个项目里的编译脚本使用。 - `pkgs`:一些相对独立的功能模块。 - `actor`:一些工具函数,便于开发基于actor模型的异步程序。 - `cmdtrie`:利用字典树匹配命令的工具。 - `db`:数据库相关的工具函数。 - `distlock`:分布式锁功能,只包含核心机制的代码。 - `event`:事件队列。 - `future`:future异步模型相关的工具函数。 - `ipfs`:封装后的ipfs客户端。 - `iterator`:迭代器。 - `logger`:日志。 - `mq`:方便定义基于rabbitmq的接口的工具函数。 - `task`:后台异步运行任务的管理器。 - `tickevent`:定时执行的事件的管理器。 - `trie`:字典树数据结构。 - `typedispatcher`:根据参数类型执行不同函数的工具函数。 - `types`:类型处理相关的工具函数。 - `sdks`:将不同系统的接口封装成Client,方便外部调用。同时包含了一些公共的数据结构。 - `utils`:分类存放的工具函数。 - `config`:配置处理。 - `http`:发送http请求。 - `io`:IO。 - `lo`:按照第三方库lo的风格增加的函数。 - `math`:数学相关。 - `os`:操作系统相关。 - `reflect`:反射相关。 - `serder`:序列化、反序列化工具,支持类型多态。 - `sort`:排序。 - `sync`:异步编程相关。