reflect

package
v0.12.0 Latest Latest
Warning

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

Go to latest
Published: Jan 30, 2020 License: BSD-3-Clause Imports: 1 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Swapper

func Swapper(slice interface{}) func(i, j int)

Types

type Kind

type Kind uintptr
const (
	Invalid Kind = iota
	Bool
	Int
	Int8
	Int16
	Int32
	Int64
	Uint
	Uint8
	Uint16
	Uint32
	Uint64
	Uintptr
	Float32
	Float64
	Complex64
	Complex128
	String
	UnsafePointer
	Chan
	Interface
	Ptr
	Slice
	Array
	Func
	Map
	Struct
)

Copied from reflect/type.go https://golang.org/src/reflect/type.go?s=8302:8316#L217

func (Kind) String

func (k Kind) String() string

type MapIter added in v0.5.0

type MapIter struct {
}

func (*MapIter) Key added in v0.5.0

func (it *MapIter) Key() Value

func (*MapIter) Next added in v0.5.0

func (it *MapIter) Next() bool

func (*MapIter) Value added in v0.5.0

func (it *MapIter) Value() Value

type SliceHeader

type SliceHeader struct {
	Data uintptr
	Len  uintptr
	Cap  uintptr
}

type StringHeader

type StringHeader struct {
	Data uintptr
	Len  uintptr
}

type StructField

type StructField struct {
	// Name indicates the field name.
	Name string

	// PkgPath is the package path where the struct containing this field is
	// declared for unexported fields, or the empty string for exported fields.
	PkgPath string

	Type      Type
	Tag       string
	Anonymous bool
	Offset    uintptr
}

A StructField describes a single field in a struct.

type Type

type Type uintptr

The typecode as used in an interface{}.

func TypeOf

func TypeOf(i interface{}) Type

func (Type) Align added in v0.8.0

func (t Type) Align() int

Align returns the alignment of this type. It is similar to calling unsafe.Alignof.

func (Type) AssignableTo added in v0.8.0

func (t Type) AssignableTo(u Type) bool

AssignableTo returns whether a value of type u can be assigned to a variable of type t.

func (Type) Bits

func (t Type) Bits() int

Bits returns the number of bits that this type uses. It is only valid for arithmetic types (integers, floats, and complex numbers). For other types, it will panic.

func (Type) Comparable added in v0.8.0

func (t Type) Comparable() bool

Comparable returns whether values of this type can be compared to each other.

func (Type) Elem

func (t Type) Elem() Type

Elem returns the element type for channel, slice and array types, the pointed-to value for pointer types, and the key type for map types.

func (Type) Field

func (t Type) Field(i int) StructField

Field returns the type of the i'th field of this struct type. It panics if t is not a struct type.

func (Type) FieldAlign added in v0.8.0

func (t Type) FieldAlign() int

FieldAlign returns the alignment if this type is used in a struct field. It is currently an alias for Align() but this might change in the future.

func (Type) Implements added in v0.9.0

func (t Type) Implements(u Type) bool

func (Type) Kind

func (t Type) Kind() Kind

func (Type) Len

func (t Type) Len() int

Len returns the number of elements in this array. It panics of the type kind is not Array.

func (Type) NumField

func (t Type) NumField() int

NumField returns the number of fields of a struct type. It panics for other type kinds.

func (Type) Size

func (t Type) Size() uintptr

Size returns the size in bytes of a given type. It is similar to unsafe.Sizeof.

func (Type) String

func (t Type) String() string

type TypeError added in v0.8.0

type TypeError struct {
	Method string
}

TypeError is the error that is used in a panic when invoking a method on a type that is not applicable to that type.

func (*TypeError) Error added in v0.8.0

func (e *TypeError) Error() string

type Value

type Value struct {
	// contains filtered or unexported fields
}

func Indirect

func Indirect(v Value) Value

func MakeSlice

func MakeSlice(typ Type, len, cap int) Value

func New added in v0.7.0

func New(typ Type) Value

func ValueOf

func ValueOf(i interface{}) Value

func Zero added in v0.7.0

func Zero(typ Type) Value

func (Value) Addr

func (v Value) Addr() Value

func (Value) Bool

func (v Value) Bool() bool

func (Value) Bytes

func (v Value) Bytes() []byte

func (Value) CanAddr

func (v Value) CanAddr() bool

func (Value) CanInterface

func (v Value) CanInterface() bool

func (Value) CanSet

func (v Value) CanSet() bool

func (Value) Cap

func (v Value) Cap() int

func (Value) Complex

func (v Value) Complex() complex128

func (Value) Elem

func (v Value) Elem() Value

func (Value) Field

func (v Value) Field(i int) Value

Field returns the value of the i'th field of this struct.

func (Value) Float

func (v Value) Float() float64

func (Value) Index

func (v Value) Index(i int) Value

func (Value) Int

func (v Value) Int() int64

func (Value) Interface

func (v Value) Interface() interface{}

func (Value) IsNil

func (v Value) IsNil() bool

IsNil returns whether the value is the nil value. It panics if the value Kind is not a channel, map, pointer, function, slice, or interface.

func (Value) IsValid

func (v Value) IsValid() bool

func (Value) Kind

func (v Value) Kind() Kind

func (Value) Len

func (v Value) Len() int

Len returns the length of this value for slices, strings, arrays, channels, and maps. For oter types, it panics.

func (Value) MapIndex

func (v Value) MapIndex(key Value) Value

func (Value) MapKeys

func (v Value) MapKeys() []Value

func (Value) MapRange added in v0.5.0

func (v Value) MapRange() *MapIter

func (Value) NumField

func (v Value) NumField() int

NumField returns the number of fields of this struct. It panics for other value types.

func (Value) Pointer

func (v Value) Pointer() uintptr

Pointer returns the underlying pointer of the given value for the following types: chan, map, pointer, unsafe.Pointer, slice, func.

func (Value) Set

func (v Value) Set(x Value)

func (Value) SetBool

func (v Value) SetBool(x bool)

func (Value) SetComplex

func (v Value) SetComplex(x complex128)

func (Value) SetFloat

func (v Value) SetFloat(x float64)

func (Value) SetInt

func (v Value) SetInt(x int64)

func (Value) SetString

func (v Value) SetString(x string)

func (Value) SetUint

func (v Value) SetUint(x uint64)

func (Value) Slice

func (v Value) Slice(i, j int) Value

func (Value) String

func (v Value) String() string

func (Value) Type

func (v Value) Type() Type

func (Value) Uint

func (v Value) Uint() uint64

type ValueError

type ValueError struct {
	Method string
}

func (*ValueError) Error

func (e *ValueError) Error() string

Jump to

Keyboard shortcuts

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