structA 和 structB 如何判断是否相等

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。

需要用到 反射 reflect.DeepEqual() 进行对比

package main
import (
 "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)
     }
     //map
     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)
     }
}

执行结果

{abc} == {abc}
[1 2] == [1 2]
map[a:1 b:2] == map[a:1 b:2]
滴水穿石,石破天惊----晓疯子
本帖已被设为精华帖!
本帖由系统于 3个月前 自动加精
讨论数量: 3

file 结构体中 == 能比较吗?

3个月前 评论
zhaocrazy (楼主) 3个月前
Lichmaker 3个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!