您的位置:首页 > 编程语言 > Go语言

Go 语言中struct, slice , map 比较

2018-02-09 16:48 671 查看
package main

import (
"fmt"
"reflect"
)

type testStruct struct {
A int
B string
C []int
}

func main() {
st1 := testStruct{A:100,B:"Australia",C:[]int{1,2,3}}
st2 := testStruct{A:100,B:"Australia",C:[]int{1,2,3}}
fmt.Println("Struct equal: ", reflect.DeepEqual(st1, st2))

slice1 := []int{1,2,3,4}
slice2 := []int{1,2,3,4}
fmt.Println("Slice equal: ", reflect.DeepEqual(slice1, slice2))

map1 := map[string]int{
"x":1,
"y":2,
}
map2 := map[string]int{
"x":1,
"y":2,
"z":3,
}
fmt.Println("Map equal: ",reflect.DeepEqual(map1, map2))
}

编译输出:

C:/Go/bin/go.exe build -i [D:/golang/src/JsonTest]
成功: 进程退出代码 0.
D:/golang/src/JsonTest/JsonTest.exe  [D:/golang/src/JsonTest]
Struct equal:  true
Slice equal:  true
Map equal:  false
成功: 进程退出代码 0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  go DeepEqual