Skip to content

Import path: gitlab.soludian.com/soludian/fountain/libs/base/num_util

num_util

go
import "gitlab.soludian.com/soludian/fountain/libs/base/num_util"

Package num_util provide math(int, number) util functions. eg: convert, math calc, random

Index

func CompFloat

go
func CompFloat[T com_def.Float](first, second T, op string) (ok bool)

CompFloat compare float64,float32 value. returns `first op(=,!=,<,<=,>,>=) second`

func CompInt

go
func CompInt[T com_def.Xint](first, second T, op string) (ok bool)

CompInt compare all intX,uintX type value. returns `first op(=,!=,<,<=,>,>=) second`

func CompInt64

go
func CompInt64(first, second int64, op string) bool

CompInt64 compare int64 value. returns `first op(=,!=,<,<=,>,>=) second`

func CompValue

go
func CompValue[T com_def.XintOrFloat](first, second T, op string) (ok bool)

CompValue compare intX,uintX,floatX value. returns `first op(=,!=,<,<=,>,>=) second`

func Compare

go
func Compare(first, second any, op string) bool

Compare any intX,floatX value by given op. returns `first op(=,!=,<,<=,>,>=) second`

Usage:

num_util.Compare(2, 3, ">") // false
num_util.Compare(2, 1.3, ">") // true
num_util.Compare(2.2, 1.3, ">") // true
num_util.Compare(2.1, 2, ">") // true

func DataSize

go
func DataSize(size uint64) string

DataSize format bytes number friendly. eg: 1024 => 1KB, 1024*1024 => 1MB

Usage:

file, err := os.Open(path)
fl, err := file.Stat()
fmtSize := DataSize(fl.Size())

func ElapsedTime

go
func ElapsedTime(startTime time.Time) string

ElapsedTime tính toán thời gian trôi qua thời gian chạy đơn vị ms (mili giây)

Deprecated: use time_util.ElapsedTime()

func Float

go
func Float(in any) (float64, error)

Float convert value to float64, return error on failed

func FloatOr

go
func FloatOr(in any, defVal float64) float64

FloatOr convert value to float64, will return default value on error

func FloatOrDefault

go
func FloatOrDefault(in any, defVal float64) float64

FloatOrDefault convert value to float64, will return default value on error

func FloatOrErr

go
func FloatOrErr(in any) (float64, error)

FloatOrErr convert value to float64, return error on failed

func FloatOrPanic

go
func FloatOrPanic(in any) float64

FloatOrPanic convert value to float64, will panic on error

func GenerateMessageID

go
func GenerateMessageID() int64

GenerateMessageID func

func GreaterOr

go
func GreaterOr[T com_def.XintOrFloat](val, min, defVal T) T

GreaterOr return val on val > max, else return default value.

Example:

GreaterOr(23, 0, 2) // 23
GreaterOr(0, 0, 2) // 2

func GteOr

go
func GteOr[T com_def.XintOrFloat](val, min, defVal T) T

GteOr return val on val >= max, else return default value.

Example:

GteOr(23, 0, 2) // 23
GteOr(0, 0, 2) // 0

func HowLongAgo

go
func HowLongAgo(sec int64) string

HowLongAgo format a seconds, get how lang ago. eg: 1 day, 1 week

func InRange

go
func InRange[T com_def.IntOrFloat](val, min, max T) bool

InRange check if val in int/float range [min, max]

func InUintRange

go
func InUintRange[T com_def.Uint](val, min, max T) bool

InUintRange check if val in unit range [min, max]

func Int

go
func Int(in any) (int, error)

Int convert value to int

func Int64

go
func Int64(in any) (int64, error)

Int64 convert value to int64, return error on failed

func Int64Or

go
func Int64Or(in any, defVal int64) int64

Int64Or convert value to int64, return default val on failed

func Int64OrDefault

go
func Int64OrDefault(in any, defVal int64) int64

Int64OrDefault convert value to int64, return default val on failed

func Int64OrErr

go
func Int64OrErr(in any) (int64, error)

Int64OrErr convert value to int64, return error on failed

func IntOr

go
func IntOr(in any, defVal int) int

IntOr convert value to int, return defaultVal on failed

func IntOrDefault

go
func IntOrDefault(in any, defVal int) int

IntOrDefault convert value to int, return defaultVal on failed

func IntOrErr

go
func IntOrErr(in any) (iVal int, err error)

IntOrErr convert value to int, return error on failed

func IntOrPanic

go
func IntOrPanic(in any) int

IntOrPanic convert value to int, will panic on error

func IsNumeric

go
func IsNumeric(c byte) bool

IsNumeric returns true if the given character is a numeric, otherwise false.

func LessOr

go
func LessOr[T com_def.XintOrFloat](val, max, devVal T) T

LessOr return val on val < max, else return default value.

Example:

LessOr(11, 10, 1) // 1
LessOr(2, 10, 1) // 2
LessOr(10, 10, 1) // 1

func LteOr

go
func LteOr[T com_def.XintOrFloat](val, max, devVal T) T

LteOr return val on val <= max, else return default value.

Example:

LteOr(11, 10, 1) // 11
LteOr(2, 10, 1) // 2
LteOr(10, 10, 1) // 10

func Max

go
func Max[T com_def.XintOrFloat](x, y T) T

Max compare two value and return max value

func MaxFloat

go
func MaxFloat(x, y float64) float64

MaxFloat compare and return max value

func MaxI64

go
func MaxI64(x, y int64) int64

MaxI64 compare and return max value

func MaxInt

go
func MaxInt(x, y int) int

MaxInt compare and return max value

func Min

go
func Min[T com_def.XintOrFloat](x, y T) T

Min compare two value and return max value

func MustFloat

go
func MustFloat(in any) float64

MustFloat convert value to float64, will panic on error

func MustInt

go
func MustInt(in any) int

MustInt convert value to int, will panic on error

func MustInt64

go
func MustInt64(in any) int64

MustInt64 convert value to int64, will panic on error

func MustString

go
func MustString(val any) string

MustString convert intX/floatX value to string, will panic on error

func MustUint

go
func MustUint(in any) uint64

MustUint convert any to uint, will panic on error

func OrElse

go
func OrElse[T com_def.XintOrFloat](val, defVal T) T

OrElse return default value on val is zero, else return val

func OutRange

go
func OutRange[T com_def.IntOrFloat](val, min, max T) bool

OutRange check if val not in int/float range [min, max]

func Percent

go
func Percent(val, total int) float64

Percent returns a values percent of the total

func QuietFloat

go
func QuietFloat(in any) float64

QuietFloat convert value to float64, will ignore error. alias of SafeFloat

func QuietInt

go
func QuietInt(in any) int

QuietInt convert value to int, will ignore error

func QuietInt64

go
func QuietInt64(in any) int64

QuietInt64 convert value to int64, will ignore error

func QuietString

go
func QuietString(val any) string

QuietString convert intX/floatX value to string, other type convert by fmt.Sprint

func QuietUint

go
func QuietUint(in any) uint64

QuietUint convert any to uint, will ignore error

func SafeFloat

go
func SafeFloat(in any) float64

SafeFloat convert value to float64, will ignore error

func SafeInt

go
func SafeInt(in any) int

SafeInt convert value to int, will ignore error

func SafeInt64

go
func SafeInt64(in any) int64

SafeInt64 convert value to int64, will ignore error

func SafeString

go
func SafeString(val any) string

SafeString convert intX/floatX value to string, other type convert by fmt.Sprint

func SafeUint

go
func SafeUint(in any) uint64

SafeUint convert any to uint, will ignore error

func StrInt

go
func StrInt(s string) int

StrInt convert.

func StrIntOr

go
func StrIntOr(s string, defVal int) int

StrIntOr convert string to int, return default val on failed

func String

go
func String(val any) string

String convert intX/floatX value to string, other type convert by fmt.Sprint

func StringOr

go
func StringOr(val any, defVal string) string

StringOr convert intX/floatX value to string, will return default value on error

func StringOrDefault

go
func StringOrDefault(val any, defVal string) string

StringOrDefault convert intX/floatX value to string, will return default value on error

func StringOrErr

go
func StringOrErr(val any) (string, error)

StringOrErr convert intX/floatX value to string, return error on failed

func StringOrPanic

go
func StringOrPanic(val any) string

StringOrPanic convert intX/floatX value to string, will panic on error

func SwapMax

go
func SwapMax[T com_def.XintOrFloat](x, y T) (T, T)

SwapMax compare and always return [max, min] value

func SwapMaxI64

go
func SwapMaxI64(x, y int64) (int64, int64)

SwapMaxI64 compare and return max, min value

func SwapMaxInt

go
func SwapMaxInt(x, y int) (int, int)

SwapMaxInt compare and return max, min value

func SwapMin

go
func SwapMin[T com_def.XintOrFloat](x, y T) (T, T)

SwapMin compare and always return [min, max] value

func ToFloat

go
func ToFloat(in any) (f64 float64, err error)

ToFloat convert value to float64, return error on failed

func ToFloatWithFunc

go
func ToFloatWithFunc(in any, usrFn ToFloatFunc) (f64 float64, err error)

ToFloatWithFunc convert value to float64, will call usrFn if value type not supported.

func ToInt

go
func ToInt(in any) (iVal int, err error)

ToInt convert value to int, return error on failed

func ToInt64

go
func ToInt64(in any) (i64 int64, err error)

ToInt64 convert value to int64, return error on failed

func ToInt64WithFunc

go
func ToInt64WithFunc(in any, usrFn ToInt64Func) (i64 int64, err error)

ToInt64WithFunc convert value to int64, will call usrFn on value type not supported.

func ToIntWithFunc

go
func ToIntWithFunc(in any, usrFn ToIntFunc) (iVal int, err error)

ToIntWithFunc convert value to int, will call usrFn on value type not supported.

func ToString

go
func ToString(val any) (string, error)

ToString convert intX/floatX value to string, return error on failed

func ToStringWithFunc

go
func ToStringWithFunc(in any, usrFn com_def.ToStringFunc) (str string, err error)

ToStringWithFunc try convert intX/floatX value to string, will call usrFn if value type not supported.

if defaultAsErr is False, will use fmt.Sprint convert other type

func ToUint

go
func ToUint(in any) (u64 uint64, err error)

ToUint convert value to uint, return error on failed

func ToUintWithFunc

go
func ToUintWithFunc(in any, usrFn ToUintFunc) (u64 uint64, err error)

ToUintWithFunc convert value to uint, will call usrFn on value type not supported.

func TryToString

go
func TryToString(val any, defaultAsErr bool) (str string, err error)

TryToString try convert intX/floatX value to string

if defaultAsErr is False, will use fmt.Sprint convert other type

func Uint

go
func Uint(in any) (uint64, error)

Uint convert any to uint, return error on failed

func UintOr

go
func UintOr(in any, defVal uint64) uint64

UintOr convert any to uint, return default val on failed

func UintOrDefault

go
func UintOrDefault(in any, defVal uint64) uint64

UintOrDefault convert any to uint, return default val on failed

func UintOrErr

go
func UintOrErr(in any) (uint64, error)

UintOrErr convert value to uint, return error on failed

func ZeroOr

go
func ZeroOr[T com_def.XintOrFloat](val, defVal T) T

ZeroOr return default value on val is zero, else return val

type ToFloatFunc

go
type ToFloatFunc func(any) (float64, error)

type ToInt64Func

go
type ToInt64Func func(any) (int64, error)

type ToIntFunc

go
type ToIntFunc func(any) (int, error)

type ToUintFunc

go
type ToUintFunc func(any) (uint64, error)

Generated by gomarkdoc