Documentation ¶
Index ¶
- Variables
- func CastVariantReflected(variant Variant, valueRT reflect.Type) (reflect.Value, error)
- type Array
- type Bool
- type Byte
- type Bytes
- type Call
- type CallChain
- type Double
- type Error
- type Float
- type IVariantCreator
- type Int
- type Int16
- type Int32
- type Int64
- type Int8
- type Map
- type Null
- type String
- type TypeId
- type Uint
- type Uint16
- type Uint32
- type Uint64
- type Uint8
- type Value
- type ValueBuff
- type ValueReader
- type ValueWriter
- type Variant
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidCast = errors.New("gap: invalid cast") // 类型转换错误 ErrNotDeclared = errors.New("gap: variant not declared") // 类型未注册 )
Functions ¶
Types ¶
type Array ¶
type Array []Variant
Array array
func MakeArrayBuffReadonly ¶ added in v0.1.90
MakeArrayBuffReadonly 创建只读array
func MakeArrayReadonly ¶ added in v0.1.88
MakeArrayReadonly 创建只读array
type CallChain ¶ added in v0.1.69
type CallChain []Call
type IVariantCreator ¶
type IVariantCreator interface { // Declare 注册类型 Declare(v Value) // Undeclare 取消注册类型 Undeclare(typeId TypeId) // New 创建对象指针 New(typeId TypeId) (Value, error) // NewReflected 创建反射对象指针 NewReflected(typeId TypeId) (reflect.Value, error) }
IVariantCreator 可变类型对象构建器接口
type Map ¶
type Map generic.UnorderedSliceMap[Variant, Variant]
Map map
func MakeMapReadonlyFromGoMap ¶ added in v0.1.88
func MakeMapReadonlyFromGoMap[K comparable, V any](m map[K]V) (Map, error)
MakeMapReadonlyFromGoMap 创建只读map
func MakeMapReadonlyFromSliceMap ¶ added in v0.1.88
MakeMapReadonlyFromSliceMap 创建只读map
func MakeMapReadonlyFromUnorderedSliceMap ¶ added in v0.1.88
func MakeMapReadonlyFromUnorderedSliceMap[K comparable, V any](m generic.UnorderedSliceMap[K, V]) (Map, error)
MakeMapReadonlyFromUnorderedSliceMap 创建只读map
func (*Map) CastUnorderedSliceMap ¶ added in v0.1.88
func (v *Map) CastUnorderedSliceMap() *generic.UnorderedSliceMap[Variant, Variant]
CastUnorderedSliceMap 转换为UnorderedSliceMap
type TypeId ¶
type TypeId uint32
TypeId 类型Id
const ( TypeId_None TypeId = iota TypeId_Int TypeId_Int8 TypeId_Int16 TypeId_Int32 TypeId_Int64 TypeId_Uint TypeId_Uint8 TypeId_Uint16 TypeId_Uint32 TypeId_Uint64 TypeId_Float TypeId_Double TypeId_Byte TypeId_Bool TypeId_Bytes TypeId_String TypeId_Null TypeId_Array TypeId_Map TypeId_Error TypeId_CallChain TypeId_Customize = 32 // 自定义类型起点 )
func (TypeId) NewReflected ¶
NewReflected 创建反射对象指针
type ValueBuff ¶ added in v0.1.90
type ValueBuff struct { Type TypeId Buff binaryutil.RecycleBytes }
ValueBuff ValueBuff
func MakeValueBuff ¶ added in v0.1.90
func MakeValueBuff(v ValueReader) (*ValueBuff, error)
MakeValueBuff 创建ValueBuff
type ValueReader ¶
type ValueReader interface { io.Reader // Size 大小 Size() int // TypeId 类型 TypeId() TypeId // Indirect 原始值 Indirect() any // Release 释放资源 Release() }
ValueReader 读取值
type ValueWriter ¶
ValueWriter 写入值
type Variant ¶
type Variant struct { TypeId TypeId // 类型Id ValueReadonly ValueReader // 只读值 Value Value // 值 Reflected reflect.Value // 反射值 }
Variant 可变类型
func CastVariantReadonly ¶ added in v0.1.88
CastVariantReadonly 转换只读可变类型
func MakeVariantReadonly ¶ added in v0.1.88
func MakeVariantReadonly(v ValueReader) (Variant, error)
MakeVariantReadonly 创建只读可变类型
Source Files ¶
- typeid.go
- typeid_builtin.go
- value.go
- value_buff.go
- value_builtin_array.go
- value_builtin_array_readonly.go
- value_builtin_bool.go
- value_builtin_byte.go
- value_builtin_bytes.go
- value_builtin_callchain.go
- value_builtin_double.go
- value_builtin_error.go
- value_builtin_float.go
- value_builtin_int.go
- value_builtin_int16.go
- value_builtin_int32.go
- value_builtin_int64.go
- value_builtin_int8.go
- value_builtin_map.go
- value_builtin_map_readonly.go
- value_builtin_null.go
- value_builtin_string.go
- value_builtin_uint.go
- value_builtin_uint16.go
- value_builtin_uint32.go
- value_builtin_uint64.go
- value_builtin_uint8.go
- variant.go
- variant_cast.go
- variant_readonly.go
- variant_readonly_cast.go
- variantcreator.go
Click to show internal directories.
Click to hide internal directories.