reflectx

package
v1.1.32 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 14, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetBool

func GetBool(ptr uintptr) bool

get bool value

func GetBoolArr

func GetBoolArr(ptr uintptr) []bool

get []bool value

func GetBoolP

func GetBoolP(ptr uintptr) *bool

get *bool value

func GetFloat32

func GetFloat32(ptr uintptr) float32

get float32 value

func GetFloat32Arr

func GetFloat32Arr(ptr uintptr) []float32

get []float32 value

func GetFloat32P

func GetFloat32P(ptr uintptr) *float32

get *float32 value

func GetFloat64

func GetFloat64(ptr uintptr) float64

get float64 value

func GetFloat64Arr

func GetFloat64Arr(ptr uintptr) []float64

get []float64 value

func GetFloat64P

func GetFloat64P(ptr uintptr) *float64

get *float64 value

func GetInt

func GetInt(ptr uintptr) int

get int value

func GetInt8

func GetInt8(ptr uintptr) int8

get int8 value

func GetInt8Arr

func GetInt8Arr(ptr uintptr) []int8

get []int8 value

func GetInt8P

func GetInt8P(ptr uintptr) *int8

get *int8 value

func GetInt16

func GetInt16(ptr uintptr) int16

get int16 value

func GetInt16Arr

func GetInt16Arr(ptr uintptr) []int16

get []int16 value

func GetInt16P

func GetInt16P(ptr uintptr) *int16

get *int16 value

func GetInt32

func GetInt32(ptr uintptr) int32

get int32 value

func GetInt32Arr

func GetInt32Arr(ptr uintptr) []int32

get []int32 value

func GetInt32P

func GetInt32P(ptr uintptr) *int32

get *int32 value

func GetInt64

func GetInt64(ptr uintptr) int64

get int64 value

func GetInt64Arr

func GetInt64Arr(ptr uintptr) []int64

get []int64 value

func GetInt64P

func GetInt64P(ptr uintptr) *int64

get *int64 value

func GetIntArr

func GetIntArr(ptr uintptr) []int

get []int value

func GetIntP

func GetIntP(ptr uintptr) *int

get *int value

func GetPtr

func GetPtr(v interface{}, offset uintptr) uintptr

通过指针获取对象字段位置

func GetString

func GetString(ptr uintptr) string

get string value

func GetStringArr

func GetStringArr(ptr uintptr) []string

get []string value

func GetStringP

func GetStringP(ptr uintptr) *string

get *string value

func GetTime

func GetTime(ptr uintptr) time.Time

get time.Time value

func GetTimeP

func GetTimeP(ptr uintptr) *time.Time

get *time.Time value

func GetUint

func GetUint(ptr uintptr) uint

get uint value

func GetUint8

func GetUint8(ptr uintptr) uint8

get uint8 value

func GetUint8Arr

func GetUint8Arr(ptr uintptr) []uint8

get []uint8 value

func GetUint8P

func GetUint8P(ptr uintptr) *uint8

get *uint8 value

func GetUint16

func GetUint16(ptr uintptr) uint16

get uint16 value

func GetUint16Arr

func GetUint16Arr(ptr uintptr) []uint16

get []uint16 value

func GetUint16P

func GetUint16P(ptr uintptr) *uint16

get *uint16 value

func GetUint32

func GetUint32(ptr uintptr) uint32

get uint32 value

func GetUint32Arr

func GetUint32Arr(ptr uintptr) []uint32

get []uint32 value

func GetUint32P

func GetUint32P(ptr uintptr) *uint32

get *uint32 value

func GetUint64

func GetUint64(ptr uintptr) uint64

get uint64 value

func GetUint64Arr

func GetUint64Arr(ptr uintptr) []uint64

get []uint64 value

func GetUint64P

func GetUint64P(ptr uintptr) *uint64

get *uint64 value

func GetUintArr

func GetUintArr(ptr uintptr) []uint

get []uint value

func GetUintP

func GetUintP(ptr uintptr) *uint

get *uint value

func NewFloat32

func NewFloat32(b []byte) (float32, error)

byte to float32

func NewFloat64

func NewFloat64(b []byte) (float64, error)

byte to float64

func NewInt

func NewInt(b []byte) (int, error)

byte to int

func NewInt8

func NewInt8(b []byte) (int8, error)

byte to int8

func NewInt16

func NewInt16(b []byte) (int16, error)

byte to int16

func NewInt32

func NewInt32(b []byte) (int32, error)

byte to int32

func NewInt64

func NewInt64(b []byte) (int64, error)

byte to int64

func NewString

func NewString(b []byte) (string, error)

NewString 零拷贝转换 []byte 为 string

⚠️ 重要警告:返回的 string 与原始 []byte 共享内存

使用场景:

  • SQL 驱动返回的 []byte(不会被修改)
  • 网络协议解析的 []byte(不会被修改)
  • 任何不会被修改的 []byte

性能:

  • 0.10 ns/op(比 string(b) 快 200x)
  • 0 B/op 零内存分配

注意:

  • 不要修改原始 []byte,否则会破坏 string 的不可变性
  • 此转换对任何 len/cap 组合都是正确的(总是读取 len 字段)
  • 此实现依赖 Go 内部 slice/string 内存布局,未来 Go 版本可能失效

func NewUint

func NewUint(b []byte) (uint, error)

byte to uint

func NewUint8

func NewUint8(b []byte) (uint8, error)

byte to uint8

func NewUint16

func NewUint16(b []byte) (uint16, error)

byte to uint16

func NewUint32

func NewUint32(b []byte) (uint32, error)

byte to uint32

func NewUint64

func NewUint64(b []byte) (uint64, error)

byte to uint64

func SetBool

func SetBool(ptr uintptr, v bool)

set bool value

func SetBoolArr

func SetBoolArr(ptr uintptr, v []bool)

set []bool value

func SetBoolP

func SetBoolP(ptr uintptr, v *bool)

set *bool value

func SetFloat32

func SetFloat32(ptr uintptr, v float32)

set float32 value

func SetFloat32Arr

func SetFloat32Arr(ptr uintptr, v []float32)

set []float32 value

func SetFloat32P

func SetFloat32P(ptr uintptr, v *float32)

set *float32 value

func SetFloat64

func SetFloat64(ptr uintptr, v float64)

set float64 value

func SetFloat64Arr

func SetFloat64Arr(ptr uintptr, v []float64)

set []float64 value

func SetFloat64P

func SetFloat64P(ptr uintptr, v *float64)

set *float64 value

func SetInt

func SetInt(ptr uintptr, v int)

set int value

func SetInt8

func SetInt8(ptr uintptr, v int8)

set int8 value

func SetInt8Arr

func SetInt8Arr(ptr uintptr, v []int8)

set []int8 value

func SetInt8P

func SetInt8P(ptr uintptr, v *int8)

set *int8 value

func SetInt16

func SetInt16(ptr uintptr, v int16)

set int16 value

func SetInt16Arr

func SetInt16Arr(ptr uintptr, v []int16)

set []int16 value

func SetInt16P

func SetInt16P(ptr uintptr, v *int16)

set *int16 value

func SetInt32

func SetInt32(ptr uintptr, v int32)

set int32 value

func SetInt32Arr

func SetInt32Arr(ptr uintptr, v []int32)

set []int32 value

func SetInt32P

func SetInt32P(ptr uintptr, v *int32)

set *int32 value

func SetInt64

func SetInt64(ptr uintptr, v int64)

set int64 value

func SetInt64Arr

func SetInt64Arr(ptr uintptr, v []int64)

set []int64 value

func SetInt64P

func SetInt64P(ptr uintptr, v *int64)

set *int64 value

func SetIntArr

func SetIntArr(ptr uintptr, v []int)

set []int value

func SetIntP

func SetIntP(ptr uintptr, v *int)

set *int value

func SetString

func SetString(ptr uintptr, v string)

set string value

func SetStringArr

func SetStringArr(ptr uintptr, v []string)

set []string value

func SetStringP

func SetStringP(ptr uintptr, v *string)

set *string value

func SetTime

func SetTime(ptr uintptr, v time.Time)

set time.Time value

func SetTimeP

func SetTimeP(ptr uintptr, v *time.Time)

set *time.Time value

func SetUint

func SetUint(ptr uintptr, v uint)

set uint value

func SetUint8

func SetUint8(ptr uintptr, v uint8)

set uint8 value

func SetUint8Arr

func SetUint8Arr(ptr uintptr, v []uint8)

set []uint8 value

func SetUint8P

func SetUint8P(ptr uintptr, v *uint8)

set *uint8 value

func SetUint16

func SetUint16(ptr uintptr, v uint16)

set uint16 value

func SetUint16Arr

func SetUint16Arr(ptr uintptr, v []uint16)

set []uint16 value

func SetUint16P

func SetUint16P(ptr uintptr, v *uint16)

set *uint16 value

func SetUint32

func SetUint32(ptr uintptr, v uint32)

set uint32 value

func SetUint32Arr

func SetUint32Arr(ptr uintptr, v []uint32)

set []uint32 value

func SetUint32P

func SetUint32P(ptr uintptr, v *uint32)

set *uint32 value

func SetUint64

func SetUint64(ptr uintptr, v uint64)

set uint64 value

func SetUint64Arr

func SetUint64Arr(ptr uintptr, v []uint64)

set []uint64 value

func SetUint64P

func SetUint64P(ptr uintptr, v *uint64)

set *uint64 value

func SetUintArr

func SetUintArr(ptr uintptr, v []uint)

set []uint value

func SetUintP

func SetUintP(ptr uintptr, v *uint)

set *uint value

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL