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

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