老师能细讲一下 golang 中 可比较对象的规则吗

来源:12-2 迷宫代码实现

Cliven_cn

2019-12-08

在课程中出现了 对结构体的比较 ,对于基础类型的比较到时容易理解,结构体类型怎么比较呀?

写回答

1回答

ccmouse

2019-12-11

go语言在可比较方面比较简单。比较在这里是指==, !=,也就比较是否相等,不是比较大小。

首先基本类型都是可以比较的,但Slice, map, 和函数不能。结构体中如果所有字段都可以比较 ,那这个结构体本身就可以比较。结构体套结构体也可以,只要最终它们都是基本类型就行。

想要比较大小的话,就要自定义比较函数,比如sort.Slice(slice interface{}, less func(i, j int) bool),就需要传入一个比较函数

想要比较slice和map,我们可以使用reflect.DeppEqual函数。

1
1
Cliven_cn
非常感谢!
2019-12-19
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程