comparator

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package comparator provides stateless comparison functions that are safe for concurrent use.

Index

Constants

This section is empty.

Variables

View Source
var ErrInvalidType = errors.New("invalid type for comparator")

ErrInvalidType is returned when a comparator receives a value that cannot be type-asserted to the expected type.

Functions

func ByteComparator

func ByteComparator(a, b interface{}) (int, error)

ByteComparator provides a basic comparison on byte.

func Float32Comparator

func Float32Comparator(a, b interface{}) (int, error)

Float32Comparator provides a basic comparison on float32.

func Float64Comparator

func Float64Comparator(a, b interface{}) (int, error)

Float64Comparator provides a basic comparison on float64.

func Float64DiffComparator

func Float64DiffComparator(a, b interface{}) (int, error)

Float64DiffComparator provides a basic comparison on float64 using a tolerance of math.SmallestNonzeroFloat64.

func Int8Comparator

func Int8Comparator(a, b interface{}) (int, error)

Int8Comparator provides a basic comparison on int8.

func Int16Comparator

func Int16Comparator(a, b interface{}) (int, error)

Int16Comparator provides a basic comparison on int16.

func Int32Comparator

func Int32Comparator(a, b interface{}) (int, error)

Int32Comparator provides a basic comparison on int32.

func Int64Comparator

func Int64Comparator(a, b interface{}) (int, error)

Int64Comparator provides a basic comparison on int64.

func IntComparator

func IntComparator(a, b interface{}) (int, error)

IntComparator provides a basic comparison on int.

func RuneComparator

func RuneComparator(a, b interface{}) (int, error)

RuneComparator provides a basic comparison on rune.

func StringComparator

func StringComparator(a, b interface{}) (int, error)

StringComparator provides a fast comparison on strings.

func TimeComparator

func TimeComparator(a, b interface{}) (int, error)

TimeComparator provides a basic comparison on time.Time.

func UInt8Comparator

func UInt8Comparator(a, b interface{}) (int, error)

UInt8Comparator provides a basic comparison on uint8.

func UInt16Comparator

func UInt16Comparator(a, b interface{}) (int, error)

UInt16Comparator provides a basic comparison on uint16.

func UInt32Comparator

func UInt32Comparator(a, b interface{}) (int, error)

UInt32Comparator provides a basic comparison on uint32.

func UInt64Comparator

func UInt64Comparator(a, b interface{}) (int, error)

UInt64Comparator provides a basic comparison on uint64.

func UIntComparator

func UIntComparator(a, b interface{}) (int, error)

UIntComparator provides a basic comparison on uint.

Types

type Comparator

type Comparator func(a, b interface{}) (int, error)

Comparator compares two values and returns:

negative , if a < b
zero     , if a == b
positive , if a > b

Returns ErrInvalidType if a or b cannot be asserted to the expected type.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL