types

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrValidatePassword = status.Error(http.StatusUnauthorized, "密码错误")

ErrValidatePassword 密码错误

Functions

func CheckEmail added in v1.0.0

func CheckEmail(email string) error

CheckEmail 检查邮箱格式

func Contains added in v1.0.0

func Contains[T comparable](list []T, v T) bool

Contains 是否包含

func ContainsOf added in v1.0.0

func ContainsOf[T any](list []T, f func(T) bool) bool

ContainsOf 是否包含

func ExtractPointerOr added in v1.0.0

func ExtractPointerOr[T any](value any, fallback ...T) T

ExtractPointerOr 解包多层指针, 如果为nil则返回指定的默认值(没有指定,则返回go默认值), 否则返回值本身

func Filter added in v1.0.0

func Filter[T any](list []T, f func(T) bool) []T

Filter 过滤

func GeneratePassword added in v1.0.0

func GeneratePassword(password, salt string) (string, error)

GeneratePassword 生成密码

func GenerateSalt added in v1.0.0

func GenerateSalt() string

GenerateSalt 生成盐

func Index added in v1.0.0

func Index[T comparable](list []T, v T) int

Index 查找元素的索引

func IndexOf added in v1.0.0

func IndexOf[T any](list []T, f func(T) bool) int

IndexOf 查找元素的索引

func IsNil

func IsNil(i interface{}) bool

IsNil 判断是否为nil

func MapsMerge added in v1.0.0

func MapsMerge[K comparable, V any](ms ...map[K]V) map[K]V

MapsMerge 合并多个map

func MergeSlice added in v1.0.0

func MergeSlice[T any](slices ...[]T) []T

MergeSlice 合并切片

func MergeSliceWithUnique added in v1.0.0

func MergeSliceWithUnique[T comparable](slices ...[]T) []T

MergeSliceWithUnique 合并切片,并去重

func Of added in v1.0.0

func Of[T any](v T) *T

Of 获取对象指针

func SliceTo added in v1.0.0

func SliceTo[T, R any](s []T, call func(T) R) []R

SliceTo 将slice转换为指定类型

func SliceToWithFilter added in v1.0.0

func SliceToWithFilter[T, R any](s []T, call func(T) (R, bool)) []R

SliceToWithFilter 将slice转换为指定类型,并过滤掉指定的值

func SliceUnique added in v1.0.0

func SliceUnique[T comparable](s []T) []T

SliceUnique 切片去重

func SlicesHasDuplicates added in v1.0.0

func SlicesHasDuplicates[T any, R comparable](arr []T, keyFunc func(T) R) bool

SlicesHasDuplicates 是否有重复元素

func SlicesIntersection added in v1.0.0

func SlicesIntersection[T compare](slice1, slice2 []T) []T

SlicesIntersection 求交集

func TextIsNull added in v1.0.0

func TextIsNull(text string) bool

TextIsNull 判断字符串是否为空

func To added in v1.0.0

func To[T, R any](list []T, f func(T) R) []R

To 转换为其他类型

func ToFilter added in v1.0.0

func ToFilter[T, R any](list []T, f func(T) (R, bool)) []R

ToFilter 过滤

func ToMap added in v1.0.0

func ToMap[T any, R comparable](list []T, f func(T) R) map[R]T

ToMap 切片转map

func UnwrapOr added in v1.0.0

func UnwrapOr[T any](p *T, fallback ...T) T

UnwrapOr 解包指针, 如果为nil则返回指定的默认值(没有指定,则返回go默认值), 否则返回值本身

func ValidatePassword added in v1.0.0

func ValidatePassword(password, checkPass, salt string) (err error)

ValidatePassword 校验密码

func WithPageQuery added in v1.0.0

func WithPageQuery[T any](q PageQuery[T], page Pagination) error

WithPageQuery 分页查询

Types

type Duration added in v1.0.0

type Duration struct {
	Duration *durationpb.Duration
}

Duration 包装后的时间类型

func NewDuration added in v1.0.0

func NewDuration(dur *durationpb.Duration) *Duration

NewDuration 创建一个 Duration

func (*Duration) CronTime added in v1.0.0

func (d *Duration) CronTime() string

CronTime 定义一个时间间隔,单位为秒

func (*Duration) GetDuration added in v1.0.0

func (d *Duration) GetDuration() *durationpb.Duration

GetDuration 获取 Duration

func (*Duration) Scan added in v1.0.0

func (d *Duration) Scan(src any) error

Scan 现 sql.Scanner 接口,Scan 将 value 扫描至 Jsonb

func (*Duration) Value added in v1.0.0

func (d *Duration) Value() (driver.Value, error)

Value 实现 driver.Valuer 接口,Value

type PageQuery added in v1.0.0

type PageQuery[T any] interface {
	Limit(limit int) T
	Offset(offset int) T
	Count() (count int64, err error)
}

PageQuery 分页查询

type Pagination added in v1.0.0

type Pagination interface {
	GetPageNum() int
	GetPageSize() int
	GetTotal() int
	SetTotal(total int)
}

Pagination 分页器

func NewPage added in v1.0.0

func NewPage(pageNum, pageSize int) Pagination

NewPage 创建一个分页器

func NewPagination added in v1.0.0

func NewPagination(page *api.PaginationReq) Pagination

NewPagination 获取分页器

type Password added in v1.0.0

type Password interface {
	GetEncryptValue() (string, error)
	GetValue() string
	GetSalt() string
	fmt.Stringer
}

Password 密码

func NewPassword added in v1.0.0

func NewPassword(values ...string) Password

NewPassword 创建密码

type Time added in v1.0.0

type Time time.Time

Time 包装后的时间类型

func NewTime added in v1.0.0

func NewTime(t time.Time) *Time

NewTime 创建一个 Time

func NewTimeByString added in v1.0.0

func NewTimeByString(s string, layout ...string) *Time

NewTimeByString 从字符串创建一个 Time

func NewTimeByUnix added in v1.0.0

func NewTimeByUnix(unix int64) *Time

NewTimeByUnix 从unix 创建一个 Time

func (*Time) Scan added in v1.0.0

func (t *Time) Scan(value interface{}) error

Scan 现 sql.Scanner 接口,Scan 将 value 扫描至 Jsonb

func (*Time) String added in v1.0.0

func (t *Time) String() string

String implements Stringer interface

func (*Time) Unix added in v1.0.0

func (t *Time) Unix() int64

Unix implements Unix interface

func (Time) Value added in v1.0.0

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

Value 实现 driver.Valuer 接口,Value

Jump to

Keyboard shortcuts

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