package helpers
import "reflect"
type Person struct {
Name string `json:"name"`
}
func InstanceOf(src, target interface{}) bool {
if ok := reflect.ValueOf(src).CanConvert(reflect.TypeOf(target)); !ok {
return false
}
return true
}
func main() {
src := []Person{{Name: "suparman"}}
target := []Person{}
newTarget := []int{1, 2, 3, 4, 5}
compare := InstanceOf(src, target)
compare2 := reflect.DeepEqual(src, target)
compare3 := reflect.TypeOf(src).Kind().String() == reflect.TypeOf(target).Kind().String()
compare4 := reflect.ValueOf(src).Kind().String() == reflect.ValueOf(target).Kind().String()
compare5 := InstanceOf(src, newTarget)
fmt.Println(compare)
fmt.Println(compare2)
fmt.Println(compare3)
fmt.Println(compare4)
fmt.Println(compare5)
}