diff --git a/data_type.go b/data_type.go index 35bbc12..7f295c9 100644 --- a/data_type.go +++ b/data_type.go @@ -7,60 +7,64 @@ // Date : 2024-04-08 16:33 package consts +import ( + "git.zhangdeman.cn/zhangdeman/consts/enums" +) + const ( - DataTypeUnknown = "unknown" // 位置数据类型 - DataTypeNil = "nil" // nil - DataTypePtr = "ptr" // 指针 - DataTypeInt = "int" // int类型 -> int64 - DataTypeUint = "uint" // uint类型 -> uint64 - DataTypeFloat = "float" // float类型 -> float64 - DataTypeBool = "bool" // bool类型 - DataTypeString = "string" // 字符串类型 - DataTypeSliceAny = "[]any" // any数组 -> []any - DataTypeSliceAnyWithMarshal = "[]any_marshal" // any数组 -> []any, json序列化之后的结构 - DataTypeSliceInt = "[]int" // int数组 -> []int64 - DataTypeSliceIntWithChar = "[]int_split" // int数组 -> []int64, 按照指定字符切割 - DataTypeSliceIntWithMarshal = "[]int_marshal" // int数组 -> []int64, json序列化之后的结果 - DataTypeSliceUint = "[]uint" // uint数组 -> []uint64 - DataTypeSliceUintWithChar = "[]uint_split" // uint数组 -> []uint64, 指定字符切割 - DataTypeSliceUintWithMarshal = "[]uint_marshal" // uint数组 -> []uint64, json序列化之后的结果 - DataTypeSliceFloat = "[]float" // float数组 -> []float64 - DataTypeSliceFloatWithChar = "[]float_split" // float数组 -> []float64, 指定字符切割 - DataTypeSliceFloatWithMarshal = "[]float_marshal" // float数组 -> []float64, json序列化之后的结果 - DataTypeSliceBool = "[]bool" // bool数组 -> []bool - DataTypeSliceBoolWithChar = "[]bool_split" // bool数组 -> []bool, 指定字符切割 - DataTypeSliceBoolWithMarshal = "[]bool_marshal" // bool数组 -> []bool, json序列化之后的结果 - DataTypeSliceString = "[]string" // 字符串数组 -> []string - DataTypeSliceStringWithChar = "[]string_split" // 字符串数组 -> []string, 指定字符切割 - DataTypeSliceStringWithMarshal = "[]string_marshal" // 字符串数组 -> []string, json序列化之后的结果 - DataTypeSliceSlice = "[][]any" // 字符串数组 -> [][]any - DataTypeSliceSliceWithMarshal = "[][]any_marshal" // 字符串数组 -> [][]any,json序列化之后的结果 - DataTypeSliceMapAnyAny = "[]map[any]any" // 字符串数组 -> []map[any]any, slice对象 - DataTypeSliceMapAnyAnyWithMarshal = "[]map[any]any_marshal" // 字符串数组 -> []map[any]any, json序列化后的结果 - DataTypeSliceMapStringAny = "[]map[string]any" // 字符串数组 -> map[string]any, slice对象 - DataTypeSliceMapStringAnyWithMarshal = "[]map[string]any_marshal" // 字符串数组 -> []map[string]any, slice对象, json序列化之后的结果 - DataTypeMapStrInt = "map[string]int" // map -> map[string]int64 - DataTypeMapStrIntWithMarshal = "map[string]int_marshal" // map -> map[string]int64,json序列化之后的结果 - DataTypeMapStrUint = "map[string]uint" // map -> map[string]uint64 - DataTypeMapStrUintWithMarshal = "map[string]uint_marshal" // map -> map[string]uint64, json序列化之后的结果 - DataTypeMapStrFloat = "map[string]float" // map -> map[string]float64 - DataTypeMapStrFloatWithMarshal = "map[string]float_marshal" // map -> map[string]float64, json序列化之后的结果 - DataTypeMapStrBool = "map[string]bool" // map -> map[string]bool - DataTypeMapStrBoolWithMarshal = "map[string]bool_marshal" // map -> map[string]bool,json序列换之后的结果 - DataTypeMapStrAny = "map[string]any" // map -> map[string]any - DataTypeMapStrAnyWithMarshal = "map[string]any_marshal" // map -> map[string]any, json序列化之后的结果 - DataTypeMapStrStr = "map[string]string" // map -> map[string]string - DataTypeMapStrStrWithMarshal = "map[string]string_marshal" // map -> map[string]string, json序列化之后的结果 - DataTypeMapAnyAny = "map[any]any" // map -> map[any]any - DataTypeMapAnyAnyWithMarshal = "map[any]any_marshal" // map -> map[any]any, json序列化之后的结果 - DataTypeMapStrSlice = "map[string][]any" // map -> map[string][]any - DataTypeMapStrSliceWithMarshal = "map[string][]any_marshal" // map -> map[string][]any, json 序列化之后的结果 - DataTypeAny = "any" // 任意类型 -> any - DataTypeStringPtr = "string_ptr" // *string, 字符串指针 - DataTypeIntPtr = "int_ptr" // *int64, int64指针 - DataTypeUintPtr = "uint_ptr" // *uint64, uint64指针 - DataTypeFloatPtr = "float_ptr" // *float64, float64指针 - DataTypeBoolPtr = "bool_ptr" // *bool, 字符串指针 + 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, 字符串指针 ) const ( @@ -88,8 +92,8 @@ const ( // // Date : 13:22 2024/6/23 type DataTypeDesc struct { - Value string `json:"value"` // 具体数据类型 - Description string `json:"description"` // 数据类型描述 + Value enums.DataType `json:"value"` // 具体数据类型 + Description string `json:"description"` // 数据类型描述 } var ( @@ -159,7 +163,7 @@ var ( // Author : go_developer@163.com<白茶清欢> // // Date : 13:24 2024/6/23 -func getDataTypeDesc(value string, description string) DataTypeDesc { +func getDataTypeDesc(value enums.DataType, description string) DataTypeDesc { return DataTypeDesc{ Value: value, Description: description, diff --git a/enums/data_type.go b/enums/data_type.go new file mode 100644 index 0000000..3efb9df --- /dev/null +++ b/enums/data_type.go @@ -0,0 +1,23 @@ +// Package enums ... +// +// Description : enums ... +// +// Author : go_developer@163.com<白茶清欢> +// +// 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 +}