Documentation
¶
Overview ¶
Package equal provides a deep equivalence relation for arbitrary values.
Example (Equal) ¶
fmt.Println(Equal([]int{1, 2, 3}, []int{1, 2, 3}))
fmt.Println(Equal([]string{"foo"}, []string{"bar"}))
fmt.Println(Equal([]string(nil), []string{}))
fmt.Println(Equal(map[string]int(nil), map[string]int{}))
Output: true false true true
Example (EqualCycle) ¶
// Circular linked lists a -> b -> a and c -> c.
type link struct {
value string
tail *link
}
a, b, c := &link{value: "a"}, &link{value: "b"}, &link{value: "c"}
a.tail, b.tail, c.tail = b, a, c
fmt.Println(Equal(a, a))
fmt.Println(Equal(b, b))
fmt.Println(Equal(c, c))
fmt.Println(Equal(a, b))
fmt.Println(Equal(a, c))
Output: true true true false false
Index ¶
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.