优化枚举值定义

This commit is contained in:
白茶清欢 2024-11-25 14:51:14 +08:00
parent 325efde765
commit f919222003
4 changed files with 146 additions and 120 deletions

View File

@ -7,64 +7,89 @@
// Date : 2024-04-08 16:33
package consts
import (
"git.zhangdeman.cn/zhangdeman/consts/enums"
)
// DataType 数据类型枚举值
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:10 2024/11/25
type DataType string
func (df DataType) String() string {
return string(df)
}
func (df DataType) MarshalJSON() ([]byte, error) {
return []byte(df.String()), nil
}
// IsValid 判断枚举值是否有效
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:45 2024/11/25
func (df DataType) IsValid() bool {
for _, item := range DataTypeList {
if item.Value == df {
return true
}
}
return false
}
const (
DataTypeUnknown enums.DataType = "unknown" // 位置数据类型
DataTypeNil enums.DataType = "nil" // nil
DataTypePtr enums.DataType = "ptr" // 指针
DataTypeInt enums.DataType = "int" // int类型 -> int64
DataTypeUint enums.DataType = "uint" // uint类型 -> uint64
DataTypeFloat enums.DataType = "float" // float类型 -> float64
DataTypeBool enums.DataType = "bool" // bool类型
DataTypeString enums.DataType = "string" // 字符串类型
DataTypeSliceAny enums.DataType = "[]any" // any数组 -> []any
DataTypeSliceAnyWithMarshal enums.DataType = "[]any_marshal" // any数组 -> []any, json序列化之后的结构
DataTypeSliceInt enums.DataType = "[]int" // int数组 -> []int64
DataTypeSliceIntWithChar enums.DataType = "[]int_split" // int数组 -> []int64, 按照指定字符切割
DataTypeSliceIntWithMarshal enums.DataType = "[]int_marshal" // int数组 -> []int64, json序列化之后的结果
DataTypeSliceUint enums.DataType = "[]uint" // uint数组 -> []uint64
DataTypeSliceUintWithChar enums.DataType = "[]uint_split" // uint数组 -> []uint64 指定字符切割
DataTypeSliceUintWithMarshal enums.DataType = "[]uint_marshal" // uint数组 -> []uint64 json序列化之后的结果
DataTypeSliceFloat enums.DataType = "[]float" // float数组 -> []float64
DataTypeSliceFloatWithChar enums.DataType = "[]float_split" // float数组 -> []float64, 指定字符切割
DataTypeSliceFloatWithMarshal enums.DataType = "[]float_marshal" // float数组 -> []float64, json序列化之后的结果
DataTypeSliceBool enums.DataType = "[]bool" // bool数组 -> []bool
DataTypeSliceBoolWithChar enums.DataType = "[]bool_split" // bool数组 -> []bool, 指定字符切割
DataTypeSliceBoolWithMarshal enums.DataType = "[]bool_marshal" // bool数组 -> []bool, json序列化之后的结果
DataTypeSliceString enums.DataType = "[]string" // 字符串数组 -> []string
DataTypeSliceStringWithChar enums.DataType = "[]string_split" // 字符串数组 -> []string, 指定字符切割
DataTypeSliceStringWithMarshal enums.DataType = "[]string_marshal" // 字符串数组 -> []string, json序列化之后的结果
DataTypeSliceSlice enums.DataType = "[][]any" // 字符串数组 -> [][]any
DataTypeSliceSliceWithMarshal enums.DataType = "[][]any_marshal" // 字符串数组 -> [][]any,json序列化之后的结果
DataTypeSliceMapAnyAny enums.DataType = "[]map[any]any" // 字符串数组 -> []map[any]any, slice对象
DataTypeSliceMapAnyAnyWithMarshal enums.DataType = "[]map[any]any_marshal" // 字符串数组 -> []map[any]any, json序列化后的结果
DataTypeSliceMapStringAny enums.DataType = "[]map[string]any" // 字符串数组 -> map[string]any, slice对象
DataTypeSliceMapStringAnyWithMarshal = "[]map[string]any_marshal" // 字符串数组 -> []map[string]any, slice对象, json序列化之后的结果
DataTypeMapStrInt enums.DataType = "map[string]int" // map -> map[string]int64
DataTypeMapStrIntWithMarshal enums.DataType = "map[string]int_marshal" // map -> map[string]int64,json序列化之后的结果
DataTypeMapStrUint enums.DataType = "map[string]uint" // map -> map[string]uint64
DataTypeMapStrUintWithMarshal enums.DataType = "map[string]uint_marshal" // map -> map[string]uint64, json序列化之后的结果
DataTypeMapStrFloat enums.DataType = "map[string]float" // map -> map[string]float64
DataTypeMapStrFloatWithMarshal enums.DataType = "map[string]float_marshal" // map -> map[string]float64, json序列化之后的结果
DataTypeMapStrBool enums.DataType = "map[string]bool" // map -> map[string]bool
DataTypeMapStrBoolWithMarshal enums.DataType = "map[string]bool_marshal" // map -> map[string]bool,json序列换之后的结果
DataTypeMapStrAny enums.DataType = "map[string]any" // map -> map[string]any
DataTypeMapStrAnyWithMarshal enums.DataType = "map[string]any_marshal" // map -> map[string]any, json序列化之后的结果
DataTypeMapStrStr enums.DataType = "map[string]string" // map -> map[string]string
DataTypeMapStrStrWithMarshal enums.DataType = "map[string]string_marshal" // map -> map[string]string, json序列化之后的结果
DataTypeMapAnyAny enums.DataType = "map[any]any" // map -> map[any]any
DataTypeMapAnyAnyWithMarshal enums.DataType = "map[any]any_marshal" // map -> map[any]any, json序列化之后的结果
DataTypeMapStrSlice enums.DataType = "map[string][]any" // map -> map[string][]any
DataTypeMapStrSliceWithMarshal enums.DataType = "map[string][]any_marshal" // map -> map[string][]any, json 序列化之后的结果
DataTypeAny enums.DataType = "any" // 任意类型 -> any
DataTypeStringPtr enums.DataType = "string_ptr" // *string, 字符串指针
DataTypeIntPtr enums.DataType = "int_ptr" // *int64, int64指针
DataTypeUintPtr enums.DataType = "uint_ptr" // *uint64, uint64指针
DataTypeFloatPtr enums.DataType = "float_ptr" // *float64, float64指针
DataTypeBoolPtr enums.DataType = "bool_ptr" // *bool, 字符串指针
DataTypeUnknown DataType = "unknown" // 位置数据类型
DataTypeNil DataType = "nil" // nil
DataTypePtr DataType = "ptr" // 指针
DataTypeInt DataType = "int" // int类型 -> int64
DataTypeUint DataType = "uint" // uint类型 -> uint64
DataTypeFloat DataType = "float" // float类型 -> float64
DataTypeBool DataType = "bool" // bool类型
DataTypeString DataType = "string" // 字符串类型
DataTypeSliceAny DataType = "[]any" // any数组 -> []any
DataTypeSliceAnyWithMarshal DataType = "[]any_marshal" // any数组 -> []any, json序列化之后的结构
DataTypeSliceInt DataType = "[]int" // int数组 -> []int64
DataTypeSliceIntWithChar DataType = "[]int_split" // int数组 -> []int64, 按照指定字符切割
DataTypeSliceIntWithMarshal DataType = "[]int_marshal" // int数组 -> []int64, json序列化之后的结果
DataTypeSliceUint DataType = "[]uint" // uint数组 -> []uint64
DataTypeSliceUintWithChar DataType = "[]uint_split" // uint数组 -> []uint64 指定字符切割
DataTypeSliceUintWithMarshal DataType = "[]uint_marshal" // uint数组 -> []uint64 json序列化之后的结果
DataTypeSliceFloat DataType = "[]float" // float数组 -> []float64
DataTypeSliceFloatWithChar DataType = "[]float_split" // float数组 -> []float64, 指定字符切割
DataTypeSliceFloatWithMarshal DataType = "[]float_marshal" // float数组 -> []float64, json序列化之后的结果
DataTypeSliceBool DataType = "[]bool" // bool数组 -> []bool
DataTypeSliceBoolWithChar DataType = "[]bool_split" // bool数组 -> []bool, 指定字符切割
DataTypeSliceBoolWithMarshal DataType = "[]bool_marshal" // bool数组 -> []bool, json序列化之后的结果
DataTypeSliceString DataType = "[]string" // 字符串数组 -> []string
DataTypeSliceStringWithChar DataType = "[]string_split" // 字符串数组 -> []string, 指定字符切割
DataTypeSliceStringWithMarshal DataType = "[]string_marshal" // 字符串数组 -> []string, json序列化之后的结果
DataTypeSliceSlice DataType = "[][]any" // 字符串数组 -> [][]any
DataTypeSliceSliceWithMarshal DataType = "[][]any_marshal" // 字符串数组 -> [][]any,json序列化之后的结果
DataTypeSliceMapAnyAny DataType = "[]map[any]any" // 字符串数组 -> []map[any]any, slice对象
DataTypeSliceMapAnyAnyWithMarshal DataType = "[]map[any]any_marshal" // 字符串数组 -> []map[any]any, json序列化后的结果
DataTypeSliceMapStringAny DataType = "[]map[string]any" // 字符串数组 -> map[string]any, slice对象
DataTypeSliceMapStringAnyWithMarshal = "[]map[string]any_marshal" // 字符串数组 -> []map[string]any, slice对象, json序列化之后的结果
DataTypeMapStrInt DataType = "map[string]int" // map -> map[string]int64
DataTypeMapStrIntWithMarshal DataType = "map[string]int_marshal" // map -> map[string]int64,json序列化之后的结果
DataTypeMapStrUint DataType = "map[string]uint" // map -> map[string]uint64
DataTypeMapStrUintWithMarshal DataType = "map[string]uint_marshal" // map -> map[string]uint64, json序列化之后的结果
DataTypeMapStrFloat DataType = "map[string]float" // map -> map[string]float64
DataTypeMapStrFloatWithMarshal DataType = "map[string]float_marshal" // map -> map[string]float64, json序列化之后的结果
DataTypeMapStrBool DataType = "map[string]bool" // map -> map[string]bool
DataTypeMapStrBoolWithMarshal DataType = "map[string]bool_marshal" // map -> map[string]bool,json序列换之后的结果
DataTypeMapStrAny DataType = "map[string]any" // map -> map[string]any
DataTypeMapStrAnyWithMarshal DataType = "map[string]any_marshal" // map -> map[string]any, json序列化之后的结果
DataTypeMapStrStr DataType = "map[string]string" // map -> map[string]string
DataTypeMapStrStrWithMarshal DataType = "map[string]string_marshal" // map -> map[string]string, json序列化之后的结果
DataTypeMapAnyAny DataType = "map[any]any" // map -> map[any]any
DataTypeMapAnyAnyWithMarshal DataType = "map[any]any_marshal" // map -> map[any]any, json序列化之后的结果
DataTypeMapStrSlice DataType = "map[string][]any" // map -> map[string][]any
DataTypeMapStrSliceWithMarshal DataType = "map[string][]any_marshal" // map -> map[string][]any, json 序列化之后的结果
DataTypeAny DataType = "any" // 任意类型 -> any
DataTypeStringPtr DataType = "string_ptr" // *string, 字符串指针
DataTypeIntPtr DataType = "int_ptr" // *int64, int64指针
DataTypeUintPtr DataType = "uint_ptr" // *uint64, uint64指针
DataTypeFloatPtr DataType = "float_ptr" // *float64, float64指针
DataTypeBoolPtr DataType = "bool_ptr" // *bool, 字符串指针
)
const (
@ -92,8 +117,8 @@ const (
//
// Date : 13:22 2024/6/23
type DataTypeDesc struct {
Value enums.DataType `json:"value"` // 具体数据类型
Description string `json:"description"` // 数据类型描述
Value DataType `json:"value"` // 具体数据类型
Description string `json:"description"` // 数据类型描述
}
var (
@ -163,7 +188,7 @@ var (
// Author : go_developer@163.com<白茶清欢>
//
// Date : 13:24 2024/6/23
func getDataTypeDesc(value enums.DataType, description string) DataTypeDesc {
func getDataTypeDesc(value DataType, description string) DataTypeDesc {
return DataTypeDesc{
Value: value,
Description: description,

View File

@ -6,33 +6,3 @@
//
// Date : 2024-11-25 14:39
package enums
// RequestDataLocation 请求数据所在位置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:40 2024/11/25
type RequestDataLocation string
func (rdl RequestDataLocation) String() string {
return string(rdl)
}
func (rdl RequestDataLocation) MarshalJSON() ([]byte, error) {
return []byte(rdl.String()), nil
}
// ResponseDataLocation 响应数据所在位置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:41 2024/11/25
type ResponseDataLocation string
func (rdl ResponseDataLocation) String() string {
return string(rdl)
}
func (rdl ResponseDataLocation) MarshalJSON() ([]byte, error) {
return []byte(rdl.String()), nil
}

View File

@ -6,18 +6,3 @@
//
// Date : 2024-11-25 14:08
package enums
// DataType 数据类型枚举值
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:10 2024/11/25
type DataType string
func (df DataType) String() string {
return string(df)
}
func (df DataType) MarshalJSON() ([]byte, error) {
return []byte(df.String()), nil
}

View File

@ -7,33 +7,79 @@
// Date : 2024-04-22 11:04
package consts
import "git.zhangdeman.cn/zhangdeman/consts/enums"
// RequestDataLocation 请求数据所在位置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:40 2024/11/25
type RequestDataLocation string
func (rdl RequestDataLocation) String() string {
return string(rdl)
}
func (rdl RequestDataLocation) MarshalJSON() ([]byte, error) {
return []byte(rdl.String()), nil
}
func (rdl RequestDataLocation) IsValid() bool {
for _, item := range RequestDataLocationList {
if item.Value == rdl {
return true
}
}
return false
}
// ResponseDataLocation 响应数据所在位置
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:41 2024/11/25
type ResponseDataLocation string
func (rdl ResponseDataLocation) String() string {
return string(rdl)
}
func (rdl ResponseDataLocation) MarshalJSON() ([]byte, error) {
return []byte(rdl.String()), nil
}
func (rdl ResponseDataLocation) IsValid() bool {
for _, item := range ResponseDataLocationList {
if item.Value == rdl {
return true
}
}
return false
}
const (
RequestDataLocationHeader enums.RequestDataLocation = "HEADER" // header
RequestDataLocationCookie enums.RequestDataLocation = "COOKIE" // cookie
RequestDataLocationBody enums.RequestDataLocation = "BODY" // body
RequestDataLocationQuery enums.RequestDataLocation = "QUERY" // query
RequestDataLocationUriPath enums.RequestDataLocation = "URI_PATH" // uri路由一部分
RequestDataLocationStatic enums.RequestDataLocation = "STATIC" // 静态配置的参数
RequestDataLocationCustomConfig enums.RequestDataLocation = "CUSTOM_CONFIG" // 针对接口的一些自定义配置规则
RequestDataLocationHeader RequestDataLocation = "HEADER" // header
RequestDataLocationCookie RequestDataLocation = "COOKIE" // cookie
RequestDataLocationBody RequestDataLocation = "BODY" // body
RequestDataLocationQuery RequestDataLocation = "QUERY" // query
RequestDataLocationUriPath RequestDataLocation = "URI_PATH" // uri路由一部分
RequestDataLocationStatic RequestDataLocation = "STATIC" // 静态配置的参数
RequestDataLocationCustomConfig RequestDataLocation = "CUSTOM_CONFIG" // 针对接口的一些自定义配置规则
)
const (
ResponseDataLocationHeader enums.ResponseDataLocation = "HEADER" // header
ResponseDataLocationCookie enums.ResponseDataLocation = "COOKIE" // cookie
ResponseDataLocationBody enums.ResponseDataLocation = "BODY" // body
ResponseDataLocationExtension enums.ResponseDataLocation = "EXTENSION" // 扩展信息
ResponseDataLocationHeader ResponseDataLocation = "HEADER" // header
ResponseDataLocationCookie ResponseDataLocation = "COOKIE" // cookie
ResponseDataLocationBody ResponseDataLocation = "BODY" // body
ResponseDataLocationExtension ResponseDataLocation = "EXTENSION" // 扩展信息
)
type RequestDataLocationDesc struct {
Value enums.RequestDataLocation `json:"value"` // 数据位置
Description string `json:"description"` // 数据位置描述
Value RequestDataLocation `json:"value"` // 数据位置
Description string `json:"description"` // 数据位置描述
}
type ResponseDataLocationDesc struct {
Value enums.ResponseDataLocation `json:"value"` // 数据位置
Description string `json:"description"` // 数据位置描述
Value ResponseDataLocation `json:"value"` // 数据位置
Description string `json:"description"` // 数据位置描述
}
var (