go 的 struct 能不能比较
结论
不同类型的 struct 不可比较:A1 != B1
相同类型的 struct 的实例值可比较: A1 = A2
相同类型的指针类型的实例值可比较 &A1 = &A2
验证
func DeepEquEqual() {
var user1 = User{
Id: 1,
Name: "xj",
}
var user2 = User{
Id: 1,
Name: "xj",
}
equal := reflect.DeepEqual(user1, user2)
fmt.Println("user1==user2;", equal)
var user3 = &User{
Id: 1,
Name: "xj",
}
var user4 = &User{
Id: 1,
Name: "xj",
}
equal = reflect.DeepEqual(user3, user4)
fmt.Println("user3==user4;", equal)
}
user1==user2; true
user3==user4; true