helper

package
v0.7.2 Latest Latest
Warning

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

Go to latest
Published: Aug 13, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Base64Decode

func Base64Decode(str string) (string, error)

Base64Decode base64解密

func Base64Encode

func Base64Encode(str string) string

Base64Encode base64加密

func CheckAndSetDefault

func CheckAndSetDefault(i interface{}) error

CheckAndSetDefault 检查结构体中的字段是否为空,如果为空则设置为默认值

func CompareNumber

func CompareNumber(a, b interface{}) int

CompareNumber 比较两个值,如果 a < b 返回 -1,如果 a == b 返回 0,如果 a > b 返回 1,如果错误则 panic

func CopyStruct

func CopyStruct(src, dst interface{})

CopyStruct 复制结构体,将 src 的值复制到 dst

用法:CopyStruct(&src, &dst)

注意:src、dst 必须是一个指针

func GenerateSSHKey

func GenerateSSHKey() error

GenerateSSHKey 生成 SSH 密钥

func GetFieldNameByJSONTag

func GetFieldNameByJSONTag(objType reflect.Type, jsonKey string) string

GetFieldNameByJSONTag 根据 JSON 标记获取结构体字段名

func GetHostInfo

func GetHostInfo(req *http.Request) string

GetHostInfo 从http.Request中获取hostInfo

func GetSSHKey

func GetSSHKey() (string, error)

GetSSHKey 获取 SSH 密钥,如果不存在则生成

func InArray

func InArray(val interface{}, array interface{}) (exists bool)

InArray 检查某个值是否存在于切片中 val 是要检查的值 array 是要检查的切片 exists 是返回的布尔值,表示 val 是否存在于 array 中

func IsEmptyValue

func IsEmptyValue(val interface{}) bool

IsEmptyValue 检查值是否为空

func IsError

func IsError(errs []error) bool

IsError 判断[]error是否存在错误

func MapToStruct

func MapToStruct(mapData interface{}, obj interface{})

MapToStruct 通过reflect将map转换为结构体

func MatchWildcard

func MatchWildcard(pattern, s string, caseSensitive bool) bool

MatchWildcard 检查字符串是否匹配给定的通配符模式

func Max

func Max(numbers ...interface{}) interface{}

Max 返回可变参数中最大的值

func Min

func Min(numbers ...interface{}) interface{}

Min 返回可变参数中最小的值

func ParseIP

func ParseIP(s string) (net.IP, int)

ParseIP 解析IP地址,输出是ipv4或ipv6 0: invalid ip 4: ipv4 6: ipv6

func Random

func Random(length int, args ...bool) string

Random 生成随机字符

参数:

  • length (必需): 随机字符长度。
  • numericOnly (可选): 如果为 true,则只包含数字字符。

返回值:

  • string: 生成的随机字符串。

示例:

randomString := Random(16)
randomString := Random(16, true)

func StrReplace

func StrReplace(search interface{}, replace interface{}, subject interface{}, count int) (interface{}, error)

StrReplace 类似于php中的str_replace

func StringEndWith

func StringEndWith(str, suffix string) bool

StringEndWith 判断字符串是否以某个字符串结尾

func StringStartWith

func StringStartWith(str, prefix string) bool

StringStartWith 判断字符串是否以某个字符串开头

func StructMerge

func StructMerge(dst interface{}, src ...interface{}) error

StructMerge 函数将多个源结构体中的非零值合并到目标结构体中。 源结构体按照传入顺序反向合并,后面的源结构体会覆盖前面的。 目标结构体 (dst) 必须是指向结构体的指针,所有源结构体 (src) 必须是与目标结构体类型相同的指针。

参数:

  • dst: 一个指向目标结构体的指针,非零值将合并到该结构体中。
  • src: 一个变参,包含多个指向源结构体的指针,非零值将从这些源结构体中提取。

返回值:

  • error: 如果 dst 不是指向结构体的指针,或任何 src 元素不是与 dst 类型相同的结构体指针,则返回错误。

func StructToMap

func StructToMap(obj interface{}, useJsonTag bool) map[string]interface{}

StructToMap 通过reflect将结构体转换为map

Types

type ArrStr

type ArrStr struct {
	Arr  []string // 数组
	Sort bool     // 执行ArrayValue方法时是否排序
}

func SetArrStr

func SetArrStr(str []string) *ArrStr

func (*ArrStr) ArrayDiff

func (a *ArrStr) ArrayDiff(oArr ...[]string) (diff []string)

func (*ArrStr) ArrayIntersect

func (a *ArrStr) ArrayIntersect(oArr ...[]string) (intersects []string)

func (*ArrStr) ArrayValue

func (a *ArrStr) ArrayValue() (value []string)

func (*ArrStr) DoSort

func (a *ArrStr) DoSort() *ArrStr

DoSort 设置ArrayValue方法¬是否排序

type Convert

type Convert struct {
	Value interface{}
}

func (Convert) ToArrByte

func (c Convert) ToArrByte() []byte

ToArrByte 将变量转为[]byte类型

func (Convert) ToBool

func (c Convert) ToBool() bool

ToBool 将变量转为bool类型

func (Convert) ToFileMode

func (c Convert) ToFileMode() os.FileMode

ToFileMode 将变量转为os.FileMode类型

func (Convert) ToFloat64

func (c Convert) ToFloat64() float64

ToFloat64 将变量转为float64

func (Convert) ToInt

func (c Convert) ToInt() int

ToInt 将变量转为int类型

func (Convert) ToNumber

func (c Convert) ToNumber() (interface{}, bool)

ToNumber 将字符串变量转为数字类型

func (Convert) ToString

func (c Convert) ToString() string

ToString 将变量转为字符串 浮点型 3.0将会转换成字符串3, "3" 非数值或字符类型的变量将会被转换成JSON格式字符串

func (Convert) ToUint

func (c Convert) ToUint() uint

ToUint 将变量转为uint类型

type File

type File struct {
	Path string      `json:"path"`
	Perm os.FileMode `json:"perm" default:"0755"`
}

func NewFile

func NewFile(args ...any) *File

func (*File) Basename

func (fh *File) Basename(suffix string) string

Basename 返回路径的最后一个名字组件

func (*File) CopyFile

func (fh *File) CopyFile(targetPath string, overwrite bool, copyAttr bool) error

CopyFile 复制文件到指定位置,可设置是否覆盖,可设置是否复制文件属性

func (*File) CopyFileAttr

func (fh *File) CopyFileAttr(targetFile string) error

CopyFileAttr 复制文件属性到目标文件

func (*File) CreateFile

func (fh *File) CreateFile(content []byte, overwrite bool) error

CreateFile 创建文件,可设置文件权限,可设置是否覆盖

func (*File) DirExists

func (fh *File) DirExists(createIfNotExists bool) (exists bool, err error)

DirExists 判断目录是否存在,可选在不存在时是否创建目录

func (*File) DirName

func (fh *File) DirName() string

DirName 获取目录部分

func (*File) Exists

func (fh *File) Exists() bool

Exists 检查文件是否存在

func (*File) GetAbsPath

func (fh *File) GetAbsPath() (string, error)

GetAbsPath 获取绝对路径

func (*File) IsDir

func (fh *File) IsDir() bool

IsDir 判断是否是目录

func (*File) IsEmpty

func (fh *File) IsEmpty() bool

IsEmpty 判断文件或目录是否为空

func (*File) IsEmptyDir

func (fh *File) IsEmptyDir() bool

IsEmptyDir 判断目录是否为空

func (*File) IsEmptyFile

func (fh *File) IsEmptyFile() bool

IsEmptyFile 判断文件是否为空

func (*File) IsExecutable

func (fh *File) IsExecutable() bool

IsExecutable 判断文件是否可执行

func (*File) IsFile

func (fh *File) IsFile() bool

IsFile 判断是否是文件

func (*File) IsHidden

func (fh *File) IsHidden() bool

IsHidden 判断文件是否隐藏

func (*File) IsReadable

func (fh *File) IsReadable() bool

IsReadable 判断文件是否可读

func (fh *File) IsSymlink() bool

IsSymlink 判断是否是软链接

func (*File) IsWritable

func (fh *File) IsWritable() bool

IsWritable 判断文件是否可写

func (*File) JsonToData

func (fh *File) JsonToData(data *interface{}) error

JsonToData 将文件中的json数据解析到data中

func (*File) Remove

func (fh *File) Remove() error

Remove 删除文件或目录

type JsonHelper

type JsonHelper struct {
	Struct interface{}            // 结构体
	String string                 // JSON字符串
	Map    map[string]interface{} // Map
	// contains filtered or unexported fields
}

func Json

func Json(input interface{}) *JsonHelper

Json 根据传入的未知类型实例化JsonHelper

func JsonFile

func JsonFile(path string) *JsonHelper

JsonFile 根据传入的文件路径读取JSON文件并实例化JsonHelper

func JsonMap deprecated

func JsonMap(jsonMap map[string]interface{}) *JsonHelper

Deprecated: 使用 Json 代替

func JsonString deprecated

func JsonString(jsonString string) *JsonHelper

Deprecated: 使用 Json 代替

func JsonStruct deprecated

func JsonStruct(jsonStruct interface{}) *JsonHelper

Deprecated: 使用 Json 代替

func (*JsonHelper) Errors

func (jh *JsonHelper) Errors() []error

Errors 获取错误信息列表

func (*JsonHelper) HasError

func (jh *JsonHelper) HasError() bool

HasError 判断是否有错误

func (*JsonHelper) MakeFile

func (jh *JsonHelper) MakeFile(filepath string) *JsonHelper

MakeFile 设置是否生成JSON文件及其路径

func (*JsonHelper) ToFile

func (jh *JsonHelper) ToFile() *JsonHelper

ToFile 将JSON字符串输出为文件

func (*JsonHelper) ToMap

func (jh *JsonHelper) ToMap(newMap *map[string]interface{}) *JsonHelper

ToMap 将JSON字符串或结构体转换为Map

func (*JsonHelper) ToString

func (jh *JsonHelper) ToString(newStr *string) *JsonHelper

ToString 将结构体或Map转换为JSON字符串

func (*JsonHelper) ToStruct

func (jh *JsonHelper) ToStruct(newStruct interface{}) *JsonHelper

ToStruct 将JSON数据转换为结构体

type MapHelper

type MapHelper struct {
	Data map[string]interface{}
	Keys []string
	Sort bool
}

func NewMap

func NewMap(mapData map[string]interface{}) *MapHelper

func SetMapStrInterface

func SetMapStrInterface(data map[string]interface{}) *MapHelper

SetMapStrInterface Deprecated: 请使用 NewMap

func (*MapHelper) ArrayKeys

func (d *MapHelper) ArrayKeys() []string

func (*MapHelper) ArrayValues

func (d *MapHelper) ArrayValues() []interface{}

func (*MapHelper) DoSort

func (d *MapHelper) DoSort() *MapHelper

func (*MapHelper) GetData

func (d *MapHelper) GetData() map[string]interface{}

type MoneyHelper

type MoneyHelper struct {
	Amount int64 `json:"amount" default:"0"` // 单位为厘,1000为1元
	// contains filtered or unexported fields
}

func Money

func Money(input interface{}) *MoneyHelper

func (*MoneyHelper) Add

func (m *MoneyHelper) Add(other *MoneyHelper) *MoneyHelper

Add 加法操作

func (*MoneyHelper) Divide

func (m *MoneyHelper) Divide(divisor float64) *MoneyHelper

Divide 除法操作

func (*MoneyHelper) Equals

func (m *MoneyHelper) Equals(other *MoneyHelper) bool

Equals 比较相等

func (*MoneyHelper) FloatString

func (m *MoneyHelper) FloatString(parts ...string) string

FloatString 输出字符串金额,接受前缀和后缀 参数:

parts - 可变参数列表,第一个参数表示前缀,第二个参数表示后缀,如果省略则不添加

func (*MoneyHelper) GetError

func (m *MoneyHelper) GetError() error

GetError 返回当前的错误

func (*MoneyHelper) GreaterThan

func (m *MoneyHelper) GreaterThan(other *MoneyHelper) bool

GreaterThan 比较大小

func (*MoneyHelper) LessThan

func (m *MoneyHelper) LessThan(other *MoneyHelper) bool

LessThan 比较大小

func (*MoneyHelper) Multiply

func (m *MoneyHelper) Multiply(factor float64) *MoneyHelper

Multiply 乘法操作

func (*MoneyHelper) SetAmount

func (m *MoneyHelper) SetAmount(value interface{}) *MoneyHelper

SetAmount 设置金额,接受不同格式的输入

func (*MoneyHelper) Subtract

func (m *MoneyHelper) Subtract(other *MoneyHelper) *MoneyHelper

Subtract 减法操作

type Str

type Str struct {
	String  string
	Float64 float64
	Float32 float32
	Int64   int64
	Int32   int32
	Int16   int16
	Int8    int8
	Int     int
	Uint64  uint64
	Uint32  uint32
	Uint16  uint16
	Uint8   uint8
	Uint    uint
}

func NewStr

func NewStr(str string) *Str

func (*Str) Base64UrlDecode

func (s *Str) Base64UrlDecode() (string, error)

Base64UrlDecode 解码 URL 和文件名安全的 Base64 编码字符串

func (*Str) Base64UrlEncode

func (s *Str) Base64UrlEncode() string

Base64UrlEncode 对字符串进行 URL 和文件名安全的 Base64 编码

func (*Str) ByteLength

func (s *Str) ByteLength() int

ByteLength 返回给定字符串的字节数

func (*Str) ByteSubstr

func (s *Str) ByteSubstr(start int, length int) string

ByteSubstr 返回从 start 开始、长度为 length 的子字符串

func (*Str) ConvertCamelToSnake

func (s *Str) ConvertCamelToSnake() string

ConvertCamelToSnake 转换驼峰字符串为下划线字符串

func (*Str) CountWords

func (s *Str) CountWords() int

CountWords 计算字符串中的单词数

func (*Str) EndsWith

func (s *Str) EndsWith(suffix string, caseSensitive bool) bool

EndsWith 检查字符串是否以指定的子字符串结尾

func (*Str) EscapeHTML

func (s *Str) EscapeHTML() string

EscapeHTML escapes HTML characters in the value to prevent XSS

func (*Str) Explode

func (s *Str) Explode(delimiter string, trim bool, skipEmpty bool) []string

Explode 按分隔符分割字符串,选项修剪值并跳过空值

func (*Str) FloatToString

func (s *Str) FloatToString() *Str

FloatToString 安全地将浮点数转换为字符串

func (*Str) MbUcFirst

func (s *Str) MbUcFirst() string

MbUcFirst 将字符串的第一个字符大写(支持多字节)

func (*Str) MbUcWords

func (s *Str) MbUcWords() string

MbUcWords 将字符串中的每个单词的第一个字符大写(支持多字节)

func (*Str) SetFloat64

func (s *Str) SetFloat64(number float64) *Str

SetFloat64 设置float64值

func (*Str) StartsWith

func (s *Str) StartsWith(prefix string, caseSensitive bool) bool

StartsWith 检查字符串是否以指定的子字符串开头

func (*Str) ToLower

func (s *Str) ToLower() string

ToLower converts the value to a lower case string

func (*Str) ToUpper

func (s *Str) ToUpper() string

ToUpper converts the value to an upper case string

func (*Str) Trim

func (s *Str) Trim(cutSet string) string

Trim returns a slice of the string s with all leading and trailing Unicode code points contained in cutSet removed.

func (*Str) TrimSpace

func (s *Str) TrimSpace() string

TrimSpace removes leading and trailing white spaces from the value

func (*Str) Truncate

func (s *Str) Truncate(length int, suffix string) string

Truncate 将字符串截断为指定的字符数

func (*Str) TruncateWords

func (s *Str) TruncateWords(count int, suffix string) string

TruncateWords 将字符串截断为指定的单词数

Jump to

Keyboard shortcuts

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