数据类型使用枚举值类型定义

This commit is contained in:
白茶清欢 2024-11-25 14:13:50 +08:00
parent 0f97a870bb
commit 1f5050978f
2 changed files with 83 additions and 56 deletions

View File

@ -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对象
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 = "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, 字符串指针
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,7 +92,7 @@ const (
//
// Date : 13:22 2024/6/23
type DataTypeDesc struct {
Value string `json:"value"` // 具体数据类型
Value enums.DataType `json:"value"` // 具体数据类型
Description string `json:"description"` // 数据类型描述
}
@ -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,

23
enums/data_type.go Normal file
View File

@ -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
}