matching types
true
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: 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: slice
  slice: uint8 3 3
  indexing: 0
  reflect type: uint8
    uint: 1
  indexing: 1
  reflect type: uint8
    uint: 2
  indexing: 2
  reflect type: uint8
    uint: 3
reflect type: slice
  slice: uint8 2 5
  indexing: 0
  reflect type: uint8
    uint: 0
  indexing: 1
  reflect type: uint8
    uint: 0
reflect type: slice
  slice: int32 2 2
  indexing: 0
  reflect type: int32
    int: 3
  indexing: 1
  reflect type: int32
    int: 5
reflect type: slice
  slice: string 2 2
  indexing: 0
  reflect type: string
    string: xyz 3
    reflect type: uint8
      uint: 120
    reflect type: uint8
      uint: 121
    reflect type: uint8
      uint: 122
  indexing: 1
  reflect type: string
    string: Z 1
    reflect type: uint8
      uint: 90
