flâneur — a map of the web's best reading

cmp package - github.com/google/go-cmp/cmp - Go Packages

pkg.go.dev · 5,493 words · saved by 1 readers

This package is intended to be a more powerful and safer alternative to reflect.DeepEqual for comparing whether two values are semantically equal. It is intended to only be used in tests, as performance is not a goal and it may panic if it cannot compare the values. Its propensity towards panicking means that its unsuitable for production environments where a spurious panic may be fatal. The primary features of cmp are: When the default behavior of equality does not suit the test's needs, custom equality functions can override the equality operation. For example, an equality function may report floats as equal so long as they are within some tolerance of each other. Types with an Equal method may use that method to determine equality. This allows package authors to determine the equality operation for the types that they define. If no custom equality functions are used and no Equal method is defined, equality is determined by recursively comparing the primitive kinds on both values, mu

Documentation ¶ Overview ¶ Package cmp determines equality of values. This package is intended to be a more powerful and safer alternative to reflect.DeepEqual for comparing whether two values are semantically equal. It is intended to only be used in tests, as performance is not a goal and it may panic if it cannot compare the values. Its propensity towards panicking means that its unsuitable for production environments where a spurious panic may be fatal. The primary features of cmp are: When the default behavior of equality does not suit the test's needs, custom equality functions can overri

Explore this link on the map →

related reading