SuperAPI AI 工具集

go-enum

通用与其它

查看项目

更新于 10-15 20:29

技能介绍

用途:为 Go 模块生成类型安全的枚举,遵循 GO 模块化架构约定。适用于创建枚举、定义域常量、添加带校验的枚举类型(如状态、类别、方法)。

主要能力:每个枚举文件包含字符串常量、用于 O(1) 查找的校验 map、枚举结构体、带校验的构造函数 New<Type>Enum、String() 方法以及私有校验函数 validate<Type>。枚举放在 internal/modules/<module>/enum/<name>_enum.go,错误定义放在 internal/modules/<module>/errs/errs.go,使用 errs.New(code, message, httpStatus, metadata),枚举校验错误用 http.StatusBadRequest,metadata 为 nil。

使用方式:先确定枚举名称、取值和目标模块;在 errs.go 中读取现有错误码并添加 ErrInvalid<EnumName>;再创建枚举文件,导入对应模块的 errs 包,按六部分结构实现。命名约定:文件为 <snake_case>_enum.go,常量为 <EnumName><Value>,校验 map 为 valid<EnumName>s,结构体为 <EnumName>Enum,构造函数为 New<EnumName>Enum,校验函数为 validate<EnumName>。完成后用有效和无效值测试构造函数,并运行 make lint 和 make nilaway。

限制:资料未提供该技能的安装方式、收费、平台支持或效果数据;示例代码与错误码规则仅针对特定项目结构,其他项目需自行调整。