Documentation | Contributing | Code of Conduct
import"atomicgo.dev/constraints"Package constraints provides constraints for type parameters aka. generics in Go.
This is a more comprehensive drop-in replacement for golang.org/x/exp/constraints.
- type Addable
- type Comparable
- type Complex
- type Float
- type Integer
- type Number
- type Numeric
- type Orderable
- type Ordered
- type Signed
- type Unsigned
type Addable
Addable is a constraint that matches any type that can be added with the + operator.
typeAddableinterface {
Number|~string
}type Comparable
Comparable is a constraint that matches any type that can be compared with the == and != operators.
typeComparableinterface {
comparable
}type Complex
Complex is a constraint that matches any complex number type.
typeComplexinterface {
~complex64|~complex128
}type Float
Float is a constraint that matches any floating point number type.
typeFloatinterface {
~float32|~float64
}type Integer
Integer is a constraint that matches any integer type.
typeIntegerinterface {
Signed|Unsigned
}type Number
Number is a constraint that matches any real number type. The Number constraint does not include Complex numbers, as those are not ordered. If you also need Complex numbers, use the Numeric constraint.
typeNumberinterface {
Float|Integer
}type Numeric
Numeric is a constraint that matches any numeric type, including complex numbers.
typeNumericinterface {
Number|Complex
}type Orderable
Orderable is a constraint that matches any type that can be ordered with the <, <=, >, and >= operators.
typeOrderableinterface {
Integer|Float|~string
}type Ordered
Ordered is a constraint that matches any ordered type.
typeOrderedinterface {
Integer|Float|~string
}type Signed
Signed is a constraint that matches any signed integer type.
typeSignedinterface {
~int|~int8|~int16|~int32|~int64
}type Unsigned
Unsigned is a constraint that matches any unsigned integer type.
typeUnsignedinterface {
~uint|~uint8|~uint16|~uint32|~uint64|~uintptr
}Generated by gomarkdoc
AtomicGo.dev · with ❤️ by @MarvinJWendt | mjw.dev
