1. 可排序、可比较和不可比较
- 可排序的数据类型有三种
- 整型Integer
- 浮点型Floating-point
- 字符串String
- 可比较的数据类型除了上述三种外,还有Boolean,Complex,Pointer,Channel,Interface和Array
- 不可比较的数据类型包括,Slice, Map, 和Function
2. 同一个struct的2个实例比较
- 包含不可比较的成员变量(map,slice,func等)
- 不包含不可比较的成员变量
- reflect.DeepEqual函数,指针和实例均可以比较(无论有没有包含不可比较的成员变量)
package main
import (
"fmt"
"reflect"
)
type T1 struct {
Name string
Age int
Arr [2]bool
ptr *int
slice []int
map1 map[string]string
}
func main() {
t1 := T1{
Name: "yxc",
Age: 1,
Arr: [2]bool{true, false},
ptr: new(int),
slice: []int{1, 2, 3},
map1: make(map[string]string, 0),
}
t2 := T1{
Name: &#