matching types
true
false
false
false
false
false

values of interfaces
reflect type: bool
  bool: true
reflect type: bool
  bool: false
reflect type: int
  int: 2000
reflect type: int
  int: -2000
reflect type: uint
  uint: 2000
reflect type: int8
  int: -3
reflect type: int8
  int: 3
reflect type: uint8
  uint: 200
reflect type: int16
  int: -300
reflect type: int16
  int: 300
reflect type: uint16
  uint: 50000
reflect type: int32
  int: 7340032
reflect type: int32
  int: -7340032
reflect type: uint32
  uint: 7340032
reflect type: int64
  int: 9895604649984
reflect type: int64
  int: -9895604649984
reflect type: uint64
  uint: 9895604649984
reflect type: uintptr
  uint: 12345
reflect type: float32
  float: +3.140000e+000
reflect type: float64
  float: +3.140000e+000
reflect type: complex64
  complex: (+1.200000e+000+3.000000e-001i)
reflect type: complex128
  complex: (+1.300000e+000+4.000000e-001i)
reflect type: int
  int: 32
reflect type: string
  string: foo 3
  reflect type: uint8
    uint: 102
  reflect type: uint8
    uint: 111
  reflect type: uint8
    uint: 111
reflect type: unsafe.Pointer
  pointer: true
reflect type: chan
  chan: int
  nil: true
reflect type: ptr
  pointer: true int
  nil: false
  reflect type: int settable=true
    int: 0
reflect type: ptr
  pointer: true interface
  nil: false
  reflect type: interface settable=true
    interface
    nil: true
reflect type: ptr
  pointer: true int
  nil: false
  reflect type: int settable=true
    int: 42
reflect type: slice
  slice: uint8 3 3
  pointer: true
  nil: false
  indexing: 0
  reflect type: uint8 settable=true
    uint: 1
  indexing: 1
  reflect type: uint8 settable=true
    uint: 2
  indexing: 2
  reflect type: uint8 settable=true
    uint: 3
reflect type: slice
  slice: uint8 2 5
  pointer: true
  nil: false
  indexing: 0
  reflect type: uint8 settable=true
    uint: 0
  indexing: 1
  reflect type: uint8 settable=true
    uint: 0
reflect type: slice
  slice: int32 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: int32 settable=true
    int: 3
  indexing: 1
  reflect type: int32 settable=true
    int: 5
reflect type: slice
  slice: string 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: string settable=true
    string: xyz 3
    reflect type: uint8
      uint: 120
    reflect type: uint8
      uint: 121
    reflect type: uint8
      uint: 122
  indexing: 1
  reflect type: string settable=true
    string: Z 1
    reflect type: uint8
      uint: 90
reflect type: slice
  slice: uint8 0 0
  pointer: false
  nil: true
reflect type: slice
  slice: uint8 0 0
  pointer: true
  nil: false
reflect type: slice
  slice: float32 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: float32 settable=true
    float: +1.000000e+000
  indexing: 1
  reflect type: float32 settable=true
    float: +1.320000e+000
reflect type: slice
  slice: float64 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: float64 settable=true
    float: +1.000000e+000
  indexing: 1
  reflect type: float64 settable=true
    float: +1.640000e+000
reflect type: slice
  slice: complex64 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: complex64 settable=true
    complex: (+1.000000e+000+0.000000e+000i)
  indexing: 1
  reflect type: complex64 settable=true
    complex: (+1.640000e+000+3.000000e-001i)
reflect type: slice
  slice: complex128 2 2
  pointer: true
  nil: false
  indexing: 0
  reflect type: complex128 settable=true
    complex: (+1.000000e+000+0.000000e+000i)
  indexing: 1
  reflect type: complex128 settable=true
    complex: (+1.128000e+000+4.000000e-001i)
reflect type: array
  array
reflect type: func
  func
  nil: true
reflect type: func
  func
  nil: false
reflect type: map
  map
  nil: true
reflect type: map
  map
  nil: false
reflect type: struct
  struct
reflect type: struct
  struct

sizes:
int8 1
int16 2
int32 4
int64 8
uint8 1
uint16 2
uint32 4
uint64 8
float32 4
float64 8
complex64 8
complex128 16
