因为data指针不相等
type SliceHeader struct { Data unsafe.Pointer Len int Cap int } func main() { var ts []string t2 := make([]string, 0, 0) s := (*SliceHeader)(unsafe.Pointer(&ts)) s1 := (*SliceHeader)(unsafe.Pointer(&t2)) fmt.Println(reflect.DeepEqual(ts, t2)) fmt.Println(s, s1) }
执行以上代码可以看到DeepEqual返回false,而两个切片的Data字段不相等