utils

package
v0.0.18 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2024 License: MPL-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CeilingToDay

func CeilingToDay(t time.Time) time.Time

CeilingToDay 将日期改为日的结束。

func Compute added in v0.0.3

func Compute[T comparable, R any](a map[T]R, k T, r0 R, fn func(T, R) R) R

func DiffDays

func DiffDays(st, et time.Time) float64

func EncodeJson added in v0.0.13

func EncodeJson(s string) string

EncodeJson 将字符串进行json编码。

func ExpandEnv added in v0.0.13

func ExpandEnv(s string) string

ExpandEnv 执行环境变量插值。

func FileExists added in v0.0.10

func FileExists(fn string) (bool, error)

func GetHostAddress added in v0.0.13

func GetHostAddress(address string) (net.IP, error)

GetHostAddress 获取指定地址对应的IP地址。 address 可以是非回环IP地址,或者表示本机的回环地址,或者是主机名。

func GetIdList added in v0.0.18

func GetIdList[T any, ID any](items []T, getId func(T) ID) []ID

func GetLocalIpAddress added in v0.0.13

func GetLocalIpAddress() string

GetLocalIpAddress 获取本地IP地址,此方法会尽可能返回IPv4地址。

func HasPrefixFold added in v0.0.17

func HasPrefixFold(s, prefix string) bool

func IntListToStr added in v0.0.13

func IntListToStr[T int | int8 | int16 | int32 | int64](l []T) string

func IsWorkingDay

func IsWorkingDay(t time.Time) bool

IsWorkingDay 判断指定日是否是工作日。

func LeftJoin added in v0.0.18

func LeftJoin[T1 any, T2 any, ID comparable](items1 []T1, items2 []T2, f1 func(T1) ID, f2 func(T2) ID, f3 func(T1, T2)) int

func LeftJoin2 added in v0.0.18

func LeftJoin2[T1 any, T2 any](items1 []T1, items2 []T2, f1 func(T1, T2) bool, f2 func(T1, T2)) int

func LocalDate added in v0.0.3

func LocalDate(year int, month time.Month, day int) time.Time

LocalDate 获取指定的本地日期。

func ParseDate

func ParseDate(s string, d time.Time) time.Time

ParseDate 解析日期。如果解析不成功则返回默认值。

func RecoverAsEleErr

func RecoverAsEleErr[T any](ch chan<- Ele[T])

func Sha256Salt

func Sha256Salt(s string) string

Sha256Salt 加盐然后获取Sha256的hash值。

func SplitAndTrim added in v0.0.13

func SplitAndTrim(s, sep string) []string

SplitAndTrim

func SplitAsInt

func SplitAsInt[T int | int8 | int16 | int32 | int64](s, sep string) []T

SplitAsInt

func SplitHostPort added in v0.0.13

func SplitHostPort(host string) (string, uint64)

SplitHostPort 将主机名与端口号分离。

func StringListToUpper added in v0.0.13

func StringListToUpper(sa []string) (result []string)

func Sum

func Sum[T any, R int | int8 | int16 | int32 | int64 | float32 | float64](a []T, r0 R, fn func(T) R) R

func ToStr

func ToStr(o any, ds string) string

ToStr 将对象转化为字符串。 如果o表示nil则返回ds。

func Today

func Today() time.Time

Today 获取表示今天0点0分0秒的日期。

func TrimPrefixFold added in v0.0.17

func TrimPrefixFold(s, prefix string) string

func TruncateToDay

func TruncateToDay(t time.Time) time.Time

TruncateToDay 将日期截断到日。

Types

type AtomicTime

type AtomicTime struct {
	// contains filtered or unexported fields
}

func NewAtomicTime

func NewAtomicTime(t time.Time) *AtomicTime

func (*AtomicTime) CompareAndMax

func (t *AtomicTime) CompareAndMax(oa ...time.Time) bool

func (*AtomicTime) CompareAndMin

func (t *AtomicTime) CompareAndMin(oa ...time.Time) bool

func (*AtomicTime) Time

func (t *AtomicTime) Time() time.Time

type Boolean added in v0.0.11

type Boolean struct {
	Valid bool
	V     bool
}

Boolean 表示可以为空的bool

func ParseBoolean added in v0.0.13

func ParseBoolean(s string) (result Boolean)

func (Boolean) Coalsece added in v0.0.14

func (b Boolean) Coalsece(o bool) bool

func (*Boolean) Eq added in v0.0.15

func (b *Boolean) Eq(ov bool) bool

func (Boolean) MarshalJSON added in v0.0.11

func (b Boolean) MarshalJSON() ([]byte, error)

func (*Boolean) Merge added in v0.0.13

func (b *Boolean) Merge(o Boolean) *Boolean

func (*Boolean) Scan added in v0.0.13

func (b *Boolean) Scan(value any) error

Scan implements the [Scanner] interface.

func (Boolean) String added in v0.0.11

func (b Boolean) String() string

func (*Boolean) UnmarshalJSON added in v0.0.11

func (b *Boolean) UnmarshalJSON(data []byte) error

func (Boolean) Value added in v0.0.13

func (b Boolean) Value() (driver.Value, error)

Value implements the driver.Valuer interface.

type Ele

type Ele[T any] struct {
	// contains filtered or unexported fields
}

func NewEle

func NewEle[T any](t *T) Ele[T]

func NewEleErr

func NewEleErr[T any](err any) Ele[T]

func (*Ele[T]) Data

func (e *Ele[T]) Data() *T

func (*Ele[T]) Err

func (e *Ele[T]) Err() error

type ISODate added in v0.0.6

type ISODate time.Time

func (ISODate) MarshalJSON added in v0.0.6

func (t ISODate) MarshalJSON() ([]byte, error)

func (ISODate) String added in v0.0.6

func (t ISODate) String() string

func (*ISODate) UnmarshalJSON added in v0.0.6

func (t *ISODate) UnmarshalJSON(data []byte) error

type Integer added in v0.0.13

type Integer struct {
	Valid bool
	V     int32
}

Integer 表示可以为空的int32

func ParseInteger added in v0.0.13

func ParseInteger(s string) (result Integer)

func (Integer) Coalsece added in v0.0.14

func (i Integer) Coalsece(o int32) int32

func (Integer) CoalseceInt added in v0.0.17

func (i Integer) CoalseceInt(o int) int

func (*Integer) Eq added in v0.0.15

func (i *Integer) Eq(ov int32) bool

func (Integer) MarshalJSON added in v0.0.13

func (i Integer) MarshalJSON() ([]byte, error)

func (*Integer) Merge added in v0.0.13

func (i *Integer) Merge(o Integer) *Integer

func (*Integer) Scan added in v0.0.13

func (i *Integer) Scan(value any) error

func (Integer) String added in v0.0.13

func (i Integer) String() string

func (*Integer) UnmarshalJSON added in v0.0.13

func (i *Integer) UnmarshalJSON(data []byte) error

func (Integer) Value added in v0.0.13

func (i Integer) Value() (driver.Value, error)

type Long added in v0.0.13

type Long struct {
	Valid bool
	V     int64
}

Long 表示可以为空的int64

func ParseLong added in v0.0.13

func ParseLong(s string) (result Long)

func (Long) Coalsece added in v0.0.14

func (s Long) Coalsece(o int64) int64

func (*Long) Eq added in v0.0.15

func (l *Long) Eq(ov int64) bool

func (Long) MarshalJSON added in v0.0.13

func (i Long) MarshalJSON() ([]byte, error)

func (*Long) Merge added in v0.0.13

func (l *Long) Merge(o Long) *Long

func (*Long) Scan added in v0.0.13

func (l *Long) Scan(value any) error

func (Long) String added in v0.0.13

func (l Long) String() string

func (*Long) UnmarshalJSON added in v0.0.13

func (i *Long) UnmarshalJSON(data []byte) error

func (Long) Value added in v0.0.13

func (l Long) Value() (driver.Value, error)

type Page added in v0.0.13

type Page[T any] struct {
	TotalPages       int   `json:"totalPages"`
	TotalElements    int64 `json:"totalElements"`
	PageNumber       int   `json:"number"`
	PageSize         int   `json:"size"`
	NumberOfElements int   `json:"numberOfElements"`
	Content          []T   `json:"content"`
}

Page 表示分页查询结果

func MakePage added in v0.0.13

func MakePage[T any](page, size int, total int64, content []T) Page[T]

MakePage 构造分页查询结果

func MakePage2 added in v0.0.13

func MakePage2[T any](content []T) Page[T]

MakePage2 构造分页查询结果

type PageRequest added in v0.0.13

type PageRequest struct {
	PageNumber int `json:"page"` // 页码,从0开始。
	PageSize   int `json:"size"` // 每页记录数。
}

PageRequest 表示分页查询请求

func (*PageRequest) GetStartRowIndex added in v0.0.17

func (pr *PageRequest) GetStartRowIndex() int

type RollingFileWriter added in v0.0.10

type RollingFileWriter struct {
	Base   string // 日志文件夹。
	Prefix string // 日志文件前缀。
	// contains filtered or unexported fields
}

滚动文件日志记录器。

var (
	// 默认的滚动文件日志记录器。
	DefaultRollingFileWriter *RollingFileWriter = &RollingFileWriter{
		Base:   "./log",
		Prefix: "app",
	}
)

func (*RollingFileWriter) Write added in v0.0.10

func (w *RollingFileWriter) Write(p []byte) (n int, err error)

type Set

type Set[T comparable] struct {
	// contains filtered or unexported fields
}

Set 表示一个集合。

func NewSet

func NewSet[T comparable](t ...T) *Set[T]

func (*Set[T]) Add

func (ss *Set[T]) Add(t T)

func (*Set[T]) AllKeys added in v0.0.9

func (ss *Set[T]) AllKeys() []T

func (*Set[T]) Contains

func (ss *Set[T]) Contains(t T) bool

func (*Set[T]) ContainsAny

func (ss *Set[T]) ContainsAny(t ...T) bool

func (*Set[T]) IsEmpty

func (ss *Set[T]) IsEmpty() bool

func (*Set[T]) Len

func (ss *Set[T]) Len() int

func (*Set[T]) Remove

func (ss *Set[T]) Remove(t T)

func (*Set[T]) String added in v0.0.9

func (ss *Set[T]) String() string

type Short added in v0.0.13

type Short struct {
	Valid bool
	V     int16
}

Short 表示可以为空的int16

func ParseShort added in v0.0.13

func ParseShort(s string) (result Short)

func (Short) Coalsece added in v0.0.14

func (s Short) Coalsece(o int16) int16

func (*Short) Eq added in v0.0.15

func (s *Short) Eq(ov int16) bool

func (Short) MarshalJSON added in v0.0.13

func (s Short) MarshalJSON() ([]byte, error)

func (*Short) Merge added in v0.0.13

func (s *Short) Merge(o Short) *Short

func (*Short) Scan added in v0.0.13

func (s *Short) Scan(value any) error

func (Short) String added in v0.0.13

func (s Short) String() string

func (*Short) UnmarshalJSON added in v0.0.13

func (i *Short) UnmarshalJSON(data []byte) error

func (Short) Value added in v0.0.13

func (s Short) Value() (driver.Value, error)

type String added in v0.0.13

type String struct {
	Valid bool
	V     string
}

String 表示可以为空的string。

func ParseString added in v0.0.13

func ParseString(s string) (result String)

func ParseStringEnum added in v0.0.14

func ParseStringEnum(s string) (result String)

func (String) Coalsece added in v0.0.14

func (s String) Coalsece(o string) string

func (*String) Eq added in v0.0.15

func (s *String) Eq(ov string) bool

func (String) MarshalJSON added in v0.0.13

func (s String) MarshalJSON() ([]byte, error)

func (*String) Merge added in v0.0.13

func (s *String) Merge(o String) *String

func (*String) Scan added in v0.0.13

func (s *String) Scan(value any) error

Scan implements the [Scanner] interface.

func (String) String added in v0.0.13

func (s String) String() string

func (*String) UnmarshalJSON added in v0.0.13

func (s *String) UnmarshalJSON(data []byte) error

func (String) Value added in v0.0.13

func (s String) Value() (driver.Value, error)

Value implements the driver.Valuer interface.

type Timestamp added in v0.0.4

type Timestamp struct {
	Valid bool
	V     time.Time
}

Timestamp 表示可以为空的Time

func ParseTimestamp added in v0.0.13

func ParseTimestamp(s string) (result Timestamp)

func (Timestamp) Coalsece added in v0.0.14

func (t Timestamp) Coalsece(o time.Time) time.Time

func (*Timestamp) Eq added in v0.0.15

func (t *Timestamp) Eq(ov time.Time) bool

func (Timestamp) MarshalJSON added in v0.0.4

func (t Timestamp) MarshalJSON() ([]byte, error)

func (*Timestamp) Merge added in v0.0.13

func (t *Timestamp) Merge(o Timestamp) *Timestamp

func (*Timestamp) Scan added in v0.0.13

func (t *Timestamp) Scan(value any) error

func (Timestamp) String added in v0.0.6

func (t Timestamp) String() string

func (*Timestamp) UnmarshalJSON added in v0.0.4

func (t *Timestamp) UnmarshalJSON(data []byte) error

func (Timestamp) Value added in v0.0.13

func (t Timestamp) Value() (driver.Value, error)

Jump to

Keyboard shortcuts

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