DeepEqual in golang for slice
package main
import (
"fmt"
"reflect"
)
func main() {
a := []int{1,2,3}
b := []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
a = []int{1,2,4}
b = []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
a = []int{1}
b = []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
}
import (
"fmt"
"reflect"
)
func main() {
a := []int{1,2,3}
b := []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
a = []int{1,2,4}
b = []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
a = []int{1}
b = []int{1,2,3}
fmt.Println(reflect.DeepEqual(a, b))
}
Note: Only use for testing
// Equal tells whether a and b contain the same elements.
// A nil argument is equivalent to an empty slice.
func Equal(a, b []int) bool {
if len(a) != len(b) {
return false
}
for i, v := range a {
if v != b[i] {
return false
}
}
return true
}
a := [2]int{1, 2}
b := [2]int{1, 3}
fmt.Println(a == b) // false
Comments
Post a Comment