cmp

package
v1.9.0 Latest Latest
Warning

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

Go to latest
Published: May 29, 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 added in v1.7.0

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

func CompareNumber added in v1.7.0

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

func Equal

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

func EqualByKey added in v1.7.0

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

func FloatFlip added in v1.8.2

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

func Greater

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

func GreaterByKey added in v1.7.0

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 added in v1.7.0

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

func SignedFlip added in v1.8.2

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

func UnSignedFlip added in v1.8.2

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

Types

type Comparable added in v1.7.0

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

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

type ComparableKey added in v1.8.0

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 added in v1.8.0

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

type CompareNumKey added in v1.8.0

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

可以直接用-号

type EqualKey added in v1.7.0

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 added in v1.7.0

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 added in v1.8.0

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