博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
比较两个slice、struct或者map是否相等
阅读量:6328 次
发布时间:2019-06-22

本文共 886 字,大约阅读时间需要 2 分钟。

我们可以直接使用reflect.DeepEqual来比较两个slice、struct或者map是否相等

package mainimport (    "fmt"    "reflect")type A struct {    s string}func main() {    a1 := A{s: "abc"}    a2 := A{s: "abc"}    if reflect.DeepEqual(a1, a2) {        fmt.Println(a1, "==", a2)    }    b1 := []int{
1, 2} b2 := []int{
1, 2} if reflect.DeepEqual(b1, b2) { fmt.Println(b1, "==", b2) } c1 := map[string]int{
"a": 1, "b": 2} c2 := map[string]int{
"a": 1, "b": 2} if reflect.DeepEqual(c1, c2) { fmt.Println(c1, "==", c2) }}

对于slice,我们还可以使用另外一种方法:

func stringSliceEqualBCE(a, b []string) bool {    if len(a) != len(b) {        return false    }    if (a == nil) != (b == nil) {        return false    }    b = b[:len(a)]    for i, v := range a {        if v != b[i] {            return false        }    }    return true}

 

转载于:https://www.cnblogs.com/TimLiuDream/p/10124120.html

你可能感兴趣的文章
iOS 10 系统 AVPlayer视频播放不了问题解决
查看>>
脚手架命令行工具实现揭秘
查看>>
程序员找工作那些事(一)幸存者偏差
查看>>
【BZOJ】1697: [Usaco2007 Feb]Cow Sorting牛排序
查看>>
Sams.Teach.Yourself.CPP.in.One.Hour.a.Day.7th.Edition
查看>>
浏览器工作
查看>>
分布式一致性原理与实践(一)
查看>>
mysql xtrabackup自动增量备份shell脚本
查看>>
ubunt 14.04下 apache配置CGI环境
查看>>
【python】python相关的那些事【一】python 中的变量
查看>>
ASP.NET整合Discuz!NT3.5实例说明(含用户登录、评论等)
查看>>
纯js拖拽参考
查看>>
HTML table表格转换为Markdown table表格
查看>>
loading效果实例
查看>>
Linux忘记mysql的root密码的解决办法
查看>>
囚徒困境 For BBasic
查看>>
Tomcat AccessLog 格式化
查看>>
固态硬盘
查看>>
python 复习函数 装饰器
查看>>
zabbix问题-非常少的网络故障失败或罕见:Proxy超时的问题
查看>>