老师能细讲一下 golang 中 可比较对象的规则吗
来源:12-2 迷宫代码实现

Cliven_cn
2019-12-08
在课程中出现了 对结构体的比较 ,对于基础类型的比较到时容易理解,结构体类型怎么比较呀?
写回答
1回答
-
go语言在可比较方面比较简单。比较在这里是指==, !=,也就比较是否相等,不是比较大小。
首先基本类型都是可以比较的,但Slice, map, 和函数不能。结构体中如果所有字段都可以比较 ,那这个结构体本身就可以比较。结构体套结构体也可以,只要最终它们都是基本类型就行。
想要比较大小的话,就要自定义比较函数,比如sort.Slice(slice interface{}, less func(i, j int) bool),就需要传入一个比较函数
想要比较slice和map,我们可以使用reflect.DeppEqual函数。
112019-12-19
相似问题