reflect
constants
const:
const (
SelectSend
SelectRecv
SelectDefault
)
functions
// 将src拷贝到dst, 直到src被耗尽或dst被装满.
func Copy(dst, src Value) int
// 判断两个值是否深度一致
func DeepEqual(a1, a2 interface{}) bool
Kind
表示Type类型值表示的具体分类.
type Kind uint
const (
Invalid Kind = iota
Bool
Int
...
Uint
...
Float...
Complex...
Array
Chan
Func
Interface
Map
Ptr
Slice
String
Struct
UnsafePointer
)
method:
func (k Kind) String() string
StringHeader
SliceHeader
StructField
StructTag
ChanDir
SelectDir
SelectCase
Method
Type
用来表示一个go类型.
interface:
type Type interface {
Kind() Kind
Name() string
PkgPath() string
String() string
Size() uintptr
...
}
functions:
// 返回接口中保存的值的类型
func TypeOf(i interface{}) Type
// 返回类型t的指针的类型
func PtrTo(t Type) Type
// 返回类型t的slice的类型
func SliceOf(t Type) Type
// 返回一个键类型为key, 值类型为elem的map类型
func MapOf(key, elem Type) Type
// 返回元素类型为t, 方向为dir的chan类型
func ChanOf(dir ChanDir, t Type) Type
Value
为go值提供反射接口.
struct:
type Value struct {}
functions:
// 返回一个接口i保存的具体值的Value
func ValueOf(i interface{}) Value
// 返回一个类型typ的零值的Value
func Zero(typ Type) Value
...
methods:
// 如果v是否持有值,如果v是Value零值,返回false.
func (v Value) IsValid() bool
func (v Value) IsNil() bool
// 返回v持有值的分类,如果v是Value零值,返回Invalid
func (v Value) Kind() Kind
// 返回v持有的值的类型Type.
func (v Value) Type() Type
...