Documentation ¶
Index ¶
- Constants
- Variables
- func Assemble(str ...string) string
- func BothPad(s string, padStr string, totalLength int) string
- func ContainsSQLInjection(input string) bool
- func CreateDir(dir string) error
- func CreateFile(fullPathWithFilename string) (*os.File, error)
- func CurrentDate() string
- func CurrentDaysInMonth() int
- func CurrentTime() string
- func CurrentTimestamp() int64
- func CurrentTimestampMilli() int64
- func DateDifference(d1, d2 time.Time) int
- func DaysInMonth(t time.Time) int
- func DirExist(dir string) bool
- func Err(str ...string) error
- func FileExist(fullPathWithFilename string) (fs.FileInfo, bool)
- func FileExtension(filePath string) string
- func FileMimeType(filePath string) (string, error)
- func FileSize(filePath string) (int64, error)
- func FormatTimeToString(t time.Time, format string) string
- func Generate() *charset
- func GetSubCategoryIDs[T any](node *TreeNode[T], ids *[]int)
- func IsAlphaNumeric(input string) bool
- func IsInSubTreeConcurrent[T any](id int, subTree []*TreeNode[T]) bool
- func IsParent[T any](id int, parentId int, nodes []TreeNode[T]) bool
- func IsTimeAfter(t1, t2 time.Time) bool
- func IsTimeBefore(t1, t2 time.Time) bool
- func IsUuid(uuid string) bool
- func IsValidDateFormat(str string) bool
- func IsValidDomain(domain string) bool
- func IsValidEmail(email string) bool
- func IsValidFilename(filename string) bool
- func IsValidIP(ip string) bool
- func IsValidIPv4(ip string) bool
- func IsValidIPv6(ip string) bool
- func IsValidTimeFormat(str string) bool
- func IsValidURL(url string) bool
- func LeftPad(s string, padStr string, totalLength int) string
- func MergeErrors(_errs ...error) error
- func MergeSlices[T any](a, b []T) []T
- func MustSliceConvert[S any, D any](srcS []S, convert func(src S) D) []D
- func ParseDate(str string) (time.Time, error)
- func ParseTime(str string) (time.Time, error)
- func ParseTimeWithCustomFormat(str string, format string) (time.Time, error)
- func ReadJsonFromFile(src string, v interface{}) error
- func RightPad(s string, padStr string, totalLength int) string
- func SliceAllContains[T comparable](arr []T, vs ...T) bool
- func SliceContains[T comparable](arr []T, v T) bool
- func SliceConvert[S any, D any](srcS []S, convert func(src S) (D, error)) ([]D, error)
- func SliceEqual[T comparable](a, b []T) bool
- func SliceFilter[T any](arr []T, filter func(src T) bool) []T
- func SliceMeet[T1, T2 any](arr []T1, v T2, meet func(item T1, v T2) bool) bool
- func SliceReplace[T any](arr []T, replace func(src T) T)
- func SplitStringToIntSlice(record string) ([]int, error)
- func SplitStringToUintSlice(record string) ([]uint, error)
- func TimeDifference(t1, t2 time.Time) time.Duration
- func TimeToTimestamp(t time.Time) int64
- func TimeToTimestampMilli(t time.Time) int64
- func TimestampDifference(ts1, ts2 int64) time.Duration
- func TimestampMilliToTime(ts int64) time.Time
- func TimestampToTime(ts int64) time.Time
- func TreeLevel[T any](id int, nodes []TreeNode[T]) int
- func UintSliceToString(intSlice []uint) string
- func UniqueSlice[T comparable](arr []T) []T
- func WriteJsonToFile(dst string, data interface{}, indent string) error
- type Email
- type TreeNode
Constants ¶
const ( Byte = 1 // 1 Byte KB = 1 << 10 // 1 KB = 1024 Bytes MB = 1 << 20 // 1 MB = 1024 KB GB = 1 << 30 // 1 GB = 1024 MB TB = 1 << 40 // 1 TB = 1024 GB )
文件大小单位
const ( MailDefaultPort = "25" // 默认端口 MailSSLPort = "465" // SSL端口 MailTLSPort = "587" // TLS端口 MailSSLModel = "SSL" // SSL模式 MailTLSMode = "TLS" // TLS模式 )
端口信息
const DateFormat = "2006-01-02"
DateFormat 日期格式
const TimeFormat = "2006-01-02 15:04:05"
TimeFormat 时间格式
const Version = "0.0.1"
Version 版本信息
Variables ¶
var CNLoc, _ = time.LoadLocation("Asia/Shanghai")
CNLoc 中国时区
Functions ¶
func CreateFile ¶
CreateFile 创建文件,如果文件路径不存在则自动创建 参数: fullPathWithFilename - 文件的完整路径及文件名 返回值: 成功返回文件指针 *os.File,错误时返回 nil 和 error
func CurrentTimestampMilli ¶
func CurrentTimestampMilli() int64
CurrentTimestampMilli 返回当前时间的时间戳(毫秒级)
func FileExist ¶
FileExist 检查文件是否存在且不是目录 参数:
- fullPathWithFilename: 文件的完整路径及文件名
返回值:
- fs.FileInfo: 文件信息。如果文件不存在或是目录,该值无效。
- bool: 如果文件存在且不是目录,则返回 true;否则返回 false。
func FileMimeType ¶
FileMimeType 返回文件的 MIME 类型 参数:
- filePath: 文件的完整路径及文件名
返回值:
- string: 文件的 MIME 类型
- error: 如果发生错误,则返回错误信息
func FormatTimeToString ¶
FormatTimeToString 格式化时间为字符串
func GetSubCategoryIDs ¶
GetSubCategoryIDs 获取指定节点的所有子节点 ID
func IsInSubTreeConcurrent ¶
IsInSubTreeConcurrent 使用 sync.Mutex 并发判断某个 ID 是否在子树中
func MustSliceConvert ¶
MustSliceConvert 将一个类型的切片转换为另一个类型的切片,忽略错误
func ParseTimeWithCustomFormat ¶
ParseTimeWithCustomFormat 解析自定义格式的时间字符串
func ReadJsonFromFile ¶
ReadJsonFromFile 从 JSON 文件读取数据到结构体 参数:
- src: 源文件路径
- v: 目标结构体的指针
返回值:
- error: 如果读取过程中发生错误,则返回错误信息
func SliceAllContains ¶
func SliceAllContains[T comparable](arr []T, vs ...T) bool
SliceAllContains 检查切片是否完全包含指定元素集合
func SliceConvert ¶
SliceConvert 将一个类型的切片转换为另一个类型的切片
func SliceFilter ¶
SliceFilter 根据指定条件过滤切片中的元素
func SliceReplace ¶
func SliceReplace[T any](arr []T, replace func(src T) T)
SliceReplace 用指定函数替换切片中的所有元素
func SplitStringToIntSlice ¶
SplitStringToIntSlice 将逗号分隔的字符串拆分成整数切片
func SplitStringToUintSlice ¶
SplitStringToUintSlice 将逗号分隔的字符串拆分成 uint 类型的整数切片
func TimeToTimestamp ¶
TimeToTimestamp 将 time.Time 转换为时间戳(秒级)
func TimeToTimestampMilli ¶
TimeToTimestampMilli 将 time.Time 转换为时间戳(毫秒级)
func TimestampDifference ¶
TimestampDifference 计算两个时间戳之间的时间差
func TimestampMilliToTime ¶
TimestampMilliToTime 将时间戳(毫秒级)转换为 time.Time
func TimestampToTime ¶
TimestampToTime 将时间戳(秒级)转换为 time.Time
func UintSliceToString ¶
UintSliceToString 将整数切片转换为用逗号连接的字符串,并去重
func WriteJsonToFile ¶
WriteJsonToFile 将结构体写入 JSON 文件 参数:
- dst: 目标文件路径
- data: 要写入的数据, 可以是结构体或其他支持 JSON 序列化的类型
- indent: 可选参数, 用于设置 JSON 缩进, 如果为 "", 则不缩进
返回值:
- error: 如果写入过程中发生错误,则返回错误信息
Types ¶
type Email ¶
type Email struct { Addr string // SMTP服务器域名,例如 smtp.example.com Port string // SMTP服务器端口,TLS:587,SSL:465 SecureMode string // 安全模式,可选 "SSL" 或 "TLS" From string // 发件人邮箱地址 Passwd string // 邮箱授权码,而非登录密码 Receiver []string // 收件人邮箱地址列表 }
Email 保存发送邮件的配置信息。
func NewEmailer ¶
NewEmailer 初始化并返回一个 Email 实例。 参数: - addr: SMTP服务器域名 - from: 发件人邮箱地址 - passwd: 邮箱授权码 - secureMode: 安全模式,可选 "SSL" 或 "TLS" - receiver: 收件人邮箱地址列表