Documentation ¶
Index ¶
- Constants
- Variables
- func ArrayDuplicate[T int64 | int32 | int16 | int8 | int | string](elems ...[]T) []T
- func ArrayIn[T ...](target T, arr []T) bool
- func ArrayJoin[T int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64](elems []T, sep string) string
- func CurrentDirCount(dir string, args ...string) (int, error)
- func DirCopy(dst, src string) error
- func ExecCommand(name string, arg ...string) error
- func ExecCommandWithNotify(ch chan string, name string, arg ...string) error
- func ExecShell(shell string) error
- func ExecShellWithNotify(ch chan string, shell string) error
- func FileCopy(dst, src string) error
- func FileCount(dir string, args ...string) (int, error)
- func FileDownload(url, filePath string) error
- func Float64ToStr(num float64, prec ...int) string
- func HexToInt64(str string) int64
- func HmacSHA256(data []byte, key []byte) []byte
- func HmacSHA384(data []byte, key []byte) []byte
- func HmacSHA512(data []byte, key []byte) []byte
- func HttpDelete(url string, data []byte, header ...byte) ([]byte, error)
- func HttpDeleteWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
- func HttpGet(url string, header ...byte) ([]byte, error)
- func HttpGetWithTimeout(url string, timeout time.Duration, header ...byte) ([]byte, error)
- func HttpPost(url string, data []byte, header ...byte) ([]byte, error)
- func HttpPostWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
- func HttpPut(url string, data []byte, header ...byte) ([]byte, error)
- func HttpPutWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
- func If(condition bool, a, b any) any
- func Int64ToHex(num int64, args ...string) string
- func Int64ToStr(num int64) string
- func Ipv4sLocal() ([]string, error)
- func JWTGenerate(claims JwtClaims, secretKey string, algorithm ...string) (string, error)
- func Md5(elem any, salt ...string) (string, error)
- func Md5File(path string) (string, error)
- func Md5Iterations(s any, iterations int) (string, error)
- func RFC1123ToNormalTime(rfc1123 string) (string, error)
- func RFC3339ToNormalTime(rfc3339 string) (string, error)
- func RandomAlpha(length int) string
- func RandomAlphaNumber(length int) string
- func RandomNumber(length int) string
- func RandomStr(str string, length int) string
- func ShouldBindJson(req *http.Request, data any) error
- func ShouldBindQuery(req *http.Request, data any) error
- func SignalSnowflake() int64
- func StrToFloat64(str string) float64
- func StrToInt64(str string) int64
- func StrToUint64(str string) uint64
- func UUID() (string, error)
- func UUIDGenerate() string
- func Uint64ToStr(num uint64) string
- func Unzip(dest, src string) error
- func UnzipWithNotify(dest, src string, ch chan *UnzipNotify) error
- func Zip(dest, src string) error
- func ZipWithNotify(dest, src string, ch chan int) error
- type JwtClaims
- type Mail
- type Process
- type Snowflake
- type UnzipNotify
Constants ¶
const ( DateTime = "2006-01-02 15:04:05" DateOnly = "2006-01-02" TimeOnly = "15:04:05" )
Variables ¶
var ErrDstSrcSame = errors.New("dst and src is same")
ErrDstSrcSame 目标和源是同一个
var ErrExpiredJwt = errors.New("expired jwt")
ErrExpiredJwt jwt 过期
var ErrInvalidJwtAlgorithm = errors.New("invalid jwt algorithm")
ErrInvalidJwtAlgorithm jwt 算法不支持
var ErrInvalidJwtFormat = errors.New("invalid jwt format")
ErrInvalidJwtFormat jwt 格式错误
var ErrInvalidJwtSignature = errors.New("invalid jwt signature")
ErrInvalidJwtSignature jwt 签名错误
var ErrNotIsDir = errors.New("not is dir")
ErrNotIsDir 不是目录
var ErrNotSupportType = errors.New("not support type")
ErrNotSupportType 不支持的类型
var Mac string
Mac 地址
Functions ¶
func ArrayIn ¶
func ArrayIn[T int64 | int32 | int16 | int8 | int | uint | uint8 | uint16 | uint32 | uint64 | string | bool | float64 | float32](target T, arr []T) bool
ArrayIn 数组是否包含某个值
target 目标值 arr 待遍历的数组
func ArrayJoin ¶
func ArrayJoin[T int | int8 | int16 | int32 | int64 | uint | uint8 | uint16 | uint32 | uint64](elems []T, sep string) string
ArrayJoin 整型拼接
elems 待拼接的数值 sep 拼接用的字符串
func CurrentDirCount ¶
CurrentDirCount 当前文件夹下(不迭代子文件夹)文件或文件夹的个数
dir 目录路径
Examples:
gotool.CurrentDirCount("/home/xxx") // 当前文件夹下所有文件及文件夹的个数 gotool.CurrentDirCount("/home/xxx", "file") // 当前文件夹下文件的个数 gotool.CurrentDirCount("/home/xxx", "dir") // 当前文件夹下文件夹的个数
func FileCount ¶
FileCount 获取指定目录下的文件个数
dir 目录路径
Examples:
gotool.FileCount("/home/xxx") // 指定目录的文件个数 gotool.FileCount("/home/xxx", ".jpg") // 指定目录的指定后缀名的文件个数 gotool.FileCount("/home/xxx", ".jpg", ".png") // 指定目录的多个后缀名的文件个数
func HttpDeleteWithTimeout ¶
func HttpDeleteWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
HttpDeleteWithTimeout http delete 请求带超时时长
url: 请求地址 timeout: 超时时间 data: 请求参数 header: 请求头
func HttpPostWithTimeout ¶
func HttpPostWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
HttpPostWithTimeout http post 请求
url: 请求地址 timeout: 超时时间 data: 请求参数 header: 请求头
func HttpPutWithTimeout ¶
func HttpPutWithTimeout(url string, data []byte, timeout time.Duration, header ...byte) ([]byte, error)
HttpPutWithTimeout http put 请求
url: 请求地址 timeout: 超时时间 data: 请求参数 header: 请求头
func Int64ToHex ¶
Int64ToHex int64转换为十六进制字符串
num: int64 args: 可选参数, 用于指定填充的位数以及填充的字
Examples:
gotool.Int64ToHex(15) // 返回 F gotool.Int64ToHex(15, "08") // 返回 000F
func JWTGenerate ¶
JWTGenerate 生成JWT
claims JWT声明 secretKey 密钥 algorithm 加密算法,默认为 HS256,可选值为 HS256、HS384、HS512
func RFC1123ToNormalTime ¶
RFC1123ToNormalTime RFC1123 日期格式标准化
rfc1123 RFC1123日期格式,如 Mon, 02 Jan 2006 15:04:05 MST
func RFC3339ToNormalTime ¶
RFC3339ToNormalTime RFC3339 日期格式标准化
rfc3339 RFC3339日期格式,如 2006-01-02T15:04:05Z07:00
func UnzipWithNotify ¶
func UnzipWithNotify(dest, src string, ch chan *UnzipNotify) error
UnzipWithNotify 带通知的文件解压
dest 解压到的路径 例如:/var/xxx src 文件路径 例如:/var/xxx.zip ch 用于通知解压进度
func ZipWithNotify ¶
ZipWithNotify 带通知的文件夹压缩
dest 压缩到的文件 例如:/var/xxx.zip src 源文件夹 例如:/var/xxx ch 用于通知压缩进度
Types ¶
type JwtClaims ¶
type Mail ¶
type Process ¶
type Snowflake ¶
type Snowflake struct {
// contains filtered or unexported fields
}
Snowflake 结构体
func (*Snowflake) GenerateSnowflake ¶
GenerateSnowflake 生成新的雪花码