github.com/zeebo/goof@v0.0.0-20190312211016-1ee209ef0510/helpers.go (about)

     1  package goof
     2  
     3  import (
     4  	"reflect"
     5  	"unsafe"
     6  )
     7  
     8  func makeInterface(typ, val unsafe.Pointer) interface{} {
     9  	return *(*interface{})(unsafe.Pointer(&[2]unsafe.Pointer{typ, val}))
    10  }
    11  
    12  func dataPtr(val interface{}) unsafe.Pointer {
    13  	return unsafe.Pointer(reflect.ValueOf(&val).Elem().InterfaceData()[1])
    14  }