cmp

package
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2024 License: MIT Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Compare

func Compare[T constraints.Ordered](x, y T) int

func CompareByKey

func CompareByKey[K constraints.Ordered, T CompareKey[K]](a T, b T) int

func CompareNumber

func CompareNumber[T constraintsi.Number](a T, b T) int

func Equal

func Equal[T comparable](a T, b T) bool

func EqualByKey

func EqualByKey[K constraints.Ordered, T CompareKey[K]](a T, b T) bool

func FloatFlip

func FloatFlip[T constraints.Float](i T) T

func Greater

func Greater[T constraints.Ordered](a T, b T) bool

func GreaterByKey

func GreaterByKey[K constraints.Ordered, T CompareKey[K]](a T, b T) bool

func Less

func Less[T constraints.Ordered](a T, b T) bool

func LessByKey

func LessByKey[K constraints.Ordered, T CompareKey[K]](a T, b T) bool

func SignedFlip

func SignedFlip[T constraints.Signed](i T) T

func UnSignedFlip

func UnSignedFlip[T constraints.Unsigned](i T) T

Types

type Comparable

type Comparable[T any] interface {
	Compare(T) int
}

包含了CompareLess和IsEqual,尽量统一使用Comparable

type ComparableKey

type ComparableKey[T CompareKey[V], V constraints.Ordered] interface {
	Compare(T) int
}

type CompareFunc

type CompareFunc[T any] func(T, T) int

type CompareKey

type CompareKey[T constraints.Ordered] interface {
	CompareKey() T
}

下面不推荐使用 合理使用,如int, 正序 return v,倒序return -v,并适当考虑边界值问题

type CompareLess

type CompareLess[T any] interface {
	Less(T) bool
}

type CompareNumKey

type CompareNumKey[T constraintsi.Number] interface {
	CompareKey() T
}

可以直接用-号

type EqualKey

type EqualKey[T comparable] interface {
	EqualKey() T
}

type GTValue

type GTValue[T constraints.Ordered] struct {
	Value T
}

func (GTValue[T]) Compare

func (a GTValue[T]) Compare(b GTValue[T]) bool

type IsEqual

type IsEqual[T any] interface {
	Equal(T) bool
}

type LTValue

type LTValue[T constraints.Ordered] struct {
	Value T
}

func (LTValue[T]) Compare

func (a LTValue[T]) Compare(b GTValue[T]) bool

type LessFunc

type LessFunc[T any] func(T, T) bool

Jump to

Keyboard shortcuts

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