Documentation
¶
Overview ¶
Package utils 提供中文命名的比较工具函数库,涵盖数值、字符串等类型的比较操作。
Package utils 提供加解密算法常用函数。 本文件集成 AES、DES、3DES、RC4、XOR、TEA/XXTEA 等常用对称加解密算法。 输出格式统一为 Base64 编码字符串,方便存储与传输。
注意:
- ECB 模式安全性较低,不建议用于生产环境的加密需求,推荐 GCM 或 CBC 模式。
- 所有函数均已添加详细注释,包括参数说明、返回值及注意事项。
Package utils 提供中文命名的算法工具函数库,涵盖排序、查找、缓存等常用算法实现。
Package utils 提供中文命名的数学工具函数库,涵盖数值计算、统计等操作。
Package utils 提供中文命名的 Map 操作工具函数库,涵盖键值查询、转换等操作。
Package utils 提供中文命名的重试工具函数库,支持带退避策略的重复执行。
Package utils 提供中文命名的切片操作工具函数库,涵盖去重、排序、查找等操作。
Package utils 提供中文命名的字符串操作工具函数库,涵盖反转、格式化等操作。
Package utils 提供中文命名的通用工具函数库,涵盖类型转换、编码处理、文本操作、文件管理、 网络请求、加密校验、并发安全等常用功能,是 Go 语言版的精易模块。
Index ¶
- func Abs(n int) int
- func B编码_BASE32HEX编码(字节集 []byte) string
- func B编码_BASE32HEX解码(文本 string) []byte
- func B编码_BASE32编码(字节集 []byte) string
- func B编码_BASE32解码(文本 string) []byte
- func B编码_BASE64URL编码(字节集 []byte) string
- func B编码_BASE64URL解码(文本 string) []byte
- func B编码_BASE64无填充编码(字节集 []byte) string
- func B编码_BASE64无填充解码(文本 string) []byte
- func B编码_BASE64编码(字节集 []byte) string
- func B编码_BASE64解码(文本 string) []byte
- func B编码_GB18030到UTF8(数据 []byte) string
- func B编码_GBK到UTF8(数据 []byte) string
- func B编码_HTML编码(文本 string) string
- func B编码_HTML解码(文本 string) string
- func B编码_JSON编码(值 interface{}) string
- func B编码_JSON编码缩进(值 interface{}, 前缀 string, 缩进 string) string
- func B编码_JSON解码(文本 string, 目标 interface{}) error
- func B编码_MIMEB64编码(文本 string) string
- func B编码_MIME编码(文本 string) string
- func B编码_Punycode编码(域名 string) string
- func B编码_Punycode解码(域名 string) string
- func B编码_QP编码(字节集 []byte) string
- func B编码_QP解码(文本 string) []byte
- func B编码_URL组件编码(网址 string) string
- func B编码_URL编码(欲编码的文本 string) string
- func B编码_URL解码(URL string) string
- func B编码_URL路径编码(路径 string) string
- func B编码_URL路径解码(路径 string) string
- func B编码_UTF8到GB18030(文本 string) []byte
- func B编码_UTF8到GBK(文本 string) []byte
- func B编码_UTF8到UTF16(文本 string) []byte
- func B编码_UTF8到UTF16大端(文本 string) []byte
- func B编码_UTF16到UTF8(数据 []byte) string
- func B编码_Unicode解码(文本 string) string
- func B编码_usc2到文本(字符串 string) string
- func B编码_十六进制大写(字节集 []byte) string
- func B编码_十六进制编码(字节集 []byte) string
- func B编码_十六进制解码(文本 string) []byte
- func B编码_取UTF8字节数(文本 string) int
- func B编码_取Unicode码点(文本 string, 位置 int) int
- func B编码_取字符数(文本 string) int
- func B编码_大端到整数(字节集 []byte) uint64
- func B编码_小端到整数(字节集 []byte) uint64
- func B编码_整数到大端(值 interface{}) []byte
- func B编码_整数到小端(值 interface{}) []byte
- func B编码_文本到USC2(文本 string) string
- func B编码_文本到Unicode(文本 string) string
- func B编码_是否有UTF8BOM(数据 []byte) bool
- func B编码_是否有效UTF8(数据 []byte) bool
- func B编码_添加UTF8BOM(数据 []byte) []byte
- func B编码_码点到文本(码点 int) string
- func B编码_移除UTF8BOM(数据 []byte) []byte
- func B表达式_求值(表达式对象 *govaluate.EvaluableExpression) (interface{}, error)
- func B表达式_求值带参数(表达式对象 *govaluate.EvaluableExpression, 参数 map[string]interface{}) (interface{}, error)
- func B表达式_编译(表达式 string) (*govaluate.EvaluableExpression, error)
- func B表达式_编译并计算(表达式 string) (interface{}, error)
- func B表达式_计算(表达式 string) (interface{}, error)
- func B表达式_计算带参数(表达式 string, 参数 map[string]interface{}) (interface{}, error)
- func CamelToSnake(s string) string
- func ClearMap[K comparable, V any](m map[K]V)
- func CompareEqual[T comparable](a, b T) bool
- func CompareValueEqual(a, b interface{}) bool
- func Contains[T comparable](slice []T, item T) bool
- func ContainsKey[K comparable, V any](m map[K]V, key K) bool
- func ContainsSubstring(s, substr string) bool
- func CountCharacters(s string) map[rune]int
- func CountWords(s string) int
- func C爬虫_创建() *colly.Collector
- func C爬虫_取元素属性(元素 *colly.HTMLElement, 属性名 string) string
- func C爬虫_取元素文本(元素 *colly.HTMLElement) string
- func C爬虫_注册HTML回调(采集器 *colly.Collector, 选择器 string, ...)
- func C爬虫_注册响应回调(采集器 *colly.Collector, 回调函数 func(r *colly.Response))
- func C爬虫_注册请求回调(采集器 *colly.Collector, 回调函数 func(r *colly.Request))
- func C爬虫_注册错误回调(采集器 *colly.Collector, 回调函数 func(r *colly.Response, err error))
- func C爬虫_设置请求头(采集器 *colly.Collector, 请求头 map[string]string)
- func C爬虫_访问(采集器 *colly.Collector, 网址 string) error
- func C爬虫_限制并发(采集器 *colly.Collector, 域名 string, 并发数 int, 间隔毫秒 int)
- func C程序_写日志(日志内容 string, 日志路径 string)
- func C程序_删除自身() error
- func C程序_取GUID() string
- func C程序_取cmd路径() string
- func C程序_取临时目录() string
- func C程序_取命令行() []string
- func C程序_取运行目录() string
- func C程序_延时(毫秒数 int64) bool
- func C程序_延时2(毫秒 int) bool
- func C程序_是否被调试() bool
- func C程序_禁止重复运行() bool
- func C程序_运行Win(欲运行的命令行 string) string
- func C类型_到Duration(值 interface{}) interface{}
- func C类型_到整数(值 interface{}) int
- func C类型_到整数64(值 interface{}) int64
- func C类型_到整数切片(值 interface{}) []int
- func C类型_到文本(值 interface{}) string
- func C类型_到文本切片(值 interface{}) []string
- func C类型_到时间(值 interface{}) interface{}
- func C类型_到浮点数(值 interface{}) float64
- func C类型_到逻辑型(值 interface{}) bool
- func C类型_安全到整数(值 interface{}, 默认值 int) int
- func C类型_安全到文本(值 interface{}, 默认值 string) string
- func C类型_安全到浮点数(值 interface{}, 默认值 float64) float64
- func C类型_安全到逻辑型(值 interface{}, 默认值 bool) bool
- func C类型_进制转换(文本 string, 进制 int) (int64, error)
- func Difference(a, b []int) []int
- func D到字节(value interface{}) byte
- func D到字节集(value interface{}) []byte
- func D到数值(value interface{}) float64
- func D到整数(value interface{}) int
- func D到整数64(value interface{}) int64
- func D到文本(value interface{}) string
- func D到文本数组(通用型变量 interface{}) []string
- func D到结构体(待转换的参数 interface{}, 结构体指针 interface{}) error
- func D多项选择[T any](index int, arr []T, 默认值 T) T
- func D定时_停止(调度器 *cron.Cron)
- func D定时_创建() *cron.Cron
- func D定时_取任务列表(调度器 *cron.Cron) []cron.Entry
- func D定时_启动(调度器 *cron.Cron)
- func D定时_添加任务(调度器 *cron.Cron, 表达式 string, 任务 func()) (cron.EntryID, error)
- func D定时_移除任务(调度器 *cron.Cron, 任务ID cron.EntryID)
- func D定时_简单执行(表达式 string, 任务 func()) (*cron.Cron, error)
- func D数据库_事务(引擎 *xorm.Engine, ...) (interface{}, error)
- func D数据库_关闭(引擎 *xorm.Engine) error
- func D数据库_删除(引擎 *xorm.Engine, 条件结构体 interface{}) (int64, error)
- func D数据库_取反射类型(值 interface{}) reflect.Type
- func D数据库_取表名(引擎 *xorm.Engine, 结构体 interface{}) string
- func D数据库_同步表(引擎 *xorm.Engine, 结构体 ...interface{}) error
- func D数据库_执行SQL(引擎 *xorm.Engine, sql语句 string, 参数 ...interface{}) (sql.Result, error)
- func D数据库_插入(引擎 *xorm.Engine, 记录 interface{}) (int64, error)
- func D数据库_更新(引擎 *xorm.Engine, 记录 interface{}) (int64, error)
- func D数据库_条件更新(引擎 *xorm.Engine, 记录 interface{}, 条件 string, 参数 ...interface{}) (int64, error)
- func D数据库_条件查询(引擎 *xorm.Engine, 结果切片 interface{}, 条件 string, ...) error
- func D数据库_查询(引擎 *xorm.Engine, 结果切片 interface{}) error
- func D数据库_查询单条(引擎 *xorm.Engine, 记录 interface{}) (bool, error)
- func D数据库_测试连接(引擎 *xorm.Engine) error
- func D数据库_统计(引擎 *xorm.Engine, 条件结构体 interface{}) (int64, error)
- func D数据库_表是否存在(引擎 *xorm.Engine, 表名 string) (bool, error)
- func D数据库_设置连接池(引擎 *xorm.Engine, 最大空闲数 int, 最大连接数 int, ...)
- func D数据库_连接MySQL(用户名 string, 密码 string, 主机地址 string, 数据库名 string) (*xorm.Engine, error)
- func D数据库_连接SQLite(文件路径 string) (*xorm.Engine, error)
- func E() float64
- func ExponentialBackoffRetry[T any](fn func() (T, error), maxRetries int, baseInterval, maxInterval time.Duration) (T, error)
- func ExtractKeys[K comparable, V any](maps ...map[K]V) map[K]struct{}
- func ExtractValues[K comparable, V comparable](maps ...map[K]V) map[V]struct{}
- func E邮件_发送(服务器地址 string, 发件人邮箱 string, 密码 string, ...) error
- func E邮件_发送TLS(服务器地址 string, 发件人邮箱 string, 密码 string, ...) error
- func E邮件_发送简单邮件(服务器地址 string, 发件人邮箱 string, 密码 string, ...) error
- func F_分割文本(原文本 string, 分割符 string) []string
- func F_删首尾空(text string) string
- func F_加入成员(数组 []string, 成员 string) []string
- func F_取文本右边(text string, n int) string
- func F_取文本左边(text string, n int) string
- func F_取文本长度(text string) int
- func F_取随机数(min, max int) int
- func F_选择(逻辑 bool, 真返回参数, 假返回参数 interface{}) interface{}
- func Factorial(n int) int64
- func Fibonacci(n int) int64
- func Filter[T any](slice []T, condition func(T) bool) []T
- func FilterMap[K comparable, V any](m map[K]V, condition func(K, V) bool) map[K]V
- func FirstLetterToUpper(s string) string
- func Float64乘Float64(值1 float64, 值2 float64) float64
- func Float64乘int64(值1 float64, 值2 int64) float64
- func Float64从文本(值 string, 保留小数点多少位 int) float64
- func Float64减float64(值1 float64, 值2 float64, 保留长度 int32) float64
- func Float64到文本(值 float64, 保留小数点多少位 int) string
- func Float64加float64(值1 float64, 值2 float64, 保留长度 int32) float64
- func Float64取绝对值(值 float64) float64
- func Float64取负值(值 float64) float64
- func Float64除float64(值1 float64, 值2 float64, 保留长度 int32) float64
- func Float64除int64(值1 float64, 值2 int64, 保留长度 int32) float64
- func FloatApproxEqual(a, b, delta float64) bool
- func F文件监控_关闭(监控器 *fsnotify.Watcher)
- func F文件监控_创建() (*fsnotify.Watcher, error)
- func F文件监控_取事件通道(监控器 *fsnotify.Watcher) <-chan fsnotify.Event
- func F文件监控_取错误通道(监控器 *fsnotify.Watcher) <-chan error
- func F文件监控_开始(监控器 *fsnotify.Watcher, 回调函数 func(event fsnotify.Event))
- func F文件监控_添加文件(监控器 *fsnotify.Watcher, 文件路径 string) error
- func F文件监控_添加目录(监控器 *fsnotify.Watcher, 目录路径 string) error
- func F文件监控_监控目录变化(目录路径 string, 回调函数 func(event fsnotify.Event)) (func(), error)
- func F文件监控_移除(监控器 *fsnotify.Watcher, 路径 string) error
- func GenericDeduplicate[T comparable](slice []T) []T
- func GenericReverse[T any](slice []T)
- func GenericSort[T any](slice []T, less func(a, b T) bool)
- func GetKeys[K comparable, V any](m map[K]V) []K
- func GetValues[K comparable, V any](m map[K]V) []V
- func GreaterOrEqual[T constraints.Ordered](left, right T) bool
- func GreaterThan[T constraints.Ordered](left, right T) bool
- func G协程池_创建(池大小 int) (*ants.Pool, error)
- func G协程池_创建带选项(池大小 int, 选项 ...ants.Option) (*ants.Pool, error)
- func G协程池_取容量(池 *ants.Pool) int
- func G协程池_取空闲数量(池 *ants.Pool) int
- func G协程池_取等待数量(池 *ants.Pool) int
- func G协程池_取运行中数量(池 *ants.Pool) int
- func G协程池_提交任务(池 *ants.Pool, 任务 func()) error
- func G协程池_调整大小(池 *ants.Pool, 新大小 int)
- func G协程池_释放(池 *ants.Pool)
- func G协程池_预分配(池大小 int) (*ants.Pool, error)
- func G格式化_JSON(data string) string
- func G格式化文本(str string, 参数 ...interface{}) string
- func HHook_初始化() error
- func HHook_卸载() error
- func HHook_卸载Hook(目标地址 uintptr) error
- func HHook_取状态文本(状态码 int) string
- func HHook_启用Hook(目标地址 uintptr) error
- func HHook_启用全部Hook() error
- func HHook_安装ApiHook(模块名, 函数名 string, 回调地址 uintptr) (uintptr, error)
- func HHook_安装ApiHookEx(模块名, 函数名 string, 回调地址 uintptr) (原地址, 目标地址 uintptr, err error)
- func HHook_安装Hook(目标地址, 回调地址 uintptr) (uintptr, error)
- func HHook_应用排队() error
- func HHook_排队启用Hook(目标地址 uintptr) error
- func HHook_排队禁用Hook(目标地址 uintptr) error
- func HHook_禁用Hook(目标地址 uintptr) error
- func HHook_禁用全部Hook() error
- func HasPrefix(s, prefix string) bool
- func HasSuffix(s, suffix string) bool
- func H客户端_Delete(网址 string) (*resty.Response, error)
- func H客户端_Get(网址 string) (*resty.Response, error)
- func H客户端_Post(网址 string, 数据 interface{}) (*resty.Response, error)
- func H客户端_Put(网址 string, 数据 interface{}) (*resty.Response, error)
- func H客户端_下载文件(网址 string, 保存路径 string) error
- func H客户端_创建() *resty.Request
- func H客户端_取文本(网址 string) (string, error)
- func H客户端_带参数发送(网址 string, 参数 map[string]string) (*resty.Response, error)
- func H客户端_带请求头发送(网址 string, 请求头 map[string]string) (*resty.Response, error)
- func H客户端_表单提交(网址 string, 表单数据 map[string]string) (*resty.Response, error)
- func H客户端_设置代理(代理地址 string) *resty.Client
- func H客户端_设置超时(超时秒数 int) *resty.Client
- func H汇编_ADDR(v int32)
- func H汇编_ADD_EAX(v int32)
- func H汇编_ADD_EAX_DWORD_PTR(addr int32)
- func H汇编_ADD_EAX_EDX()
- func H汇编_ADD_EBP_DWORD_PTR(addr int32)
- func H汇编_ADD_EBX(v int32)
- func H汇编_ADD_EBX_DWORD_PTR(addr int32)
- func H汇编_ADD_EBX_EAX()
- func H汇编_ADD_ECX(v int32)
- func H汇编_ADD_EDX(v int32)
- func H汇编_ADD_ESI(v int32)
- func H汇编_ADD_ESP(v int32)
- func H汇编_CALL(addr int32)
- func H汇编_CALL_DWORD_PTR(addr int32)
- func H汇编_CALL_DWORD_PTR_EAX()
- func H汇编_CALL_DWORD_PTR_EBX()
- func H汇编_CALL_EAX()
- func H汇编_CALL_EBP()
- func H汇编_CALL_EBX()
- func H汇编_CALL_ECX()
- func H汇编_CALL_EDI()
- func H汇编_CALL_EDX()
- func H汇编_CALL_ESI()
- func H汇编_CALL_ESP()
- func H汇编_CMP_DWORD_PTR_EAX(addr int32)
- func H汇编_CMP_EAX(v int32)
- func H汇编_CMP_EAX_DWORD_PTR(addr int32)
- func H汇编_CMP_EAX_EDX()
- func H汇编_DEC_EAX()
- func H汇编_DEC_EBX()
- func H汇编_DEC_ECX()
- func H汇编_DEC_EDX()
- func H汇编_IDIV_EAX()
- func H汇编_IDIV_EBX()
- func H汇编_IDIV_ECX()
- func H汇编_IDIV_EDX()
- func H汇编_IMULB_EAX(v int32)
- func H汇编_IMUL_EAX(v int8)
- func H汇编_IMUL_EAX_EDX()
- func H汇编_INC_DWORD_PTR_EAX()
- func H汇编_INC_DWORD_PTR_EBX()
- func H汇编_INC_DWORD_PTR_ECX()
- func H汇编_INC_DWORD_PTR_EDX()
- func H汇编_INC_EAX()
- func H汇编_INC_EBX()
- func H汇编_INC_ECX()
- func H汇编_INC_EDI()
- func H汇编_INC_EDX()
- func H汇编_INC_ESI()
- func H汇编_IN_AL_DX()
- func H汇编_JMP(addr int32)
- func H汇编_JMP_EAX()
- func H汇编_LEAVE()
- func H汇编_MOV_DWORD_PTR_EAX(addr int32)
- func H汇编_MOV_EAX(v int32)
- func H汇编_MOV_EAX_DWORD_PTR(addr int32)
- func H汇编_MOV_EAX_DWORD_PTR_EAX()
- func H汇编_MOV_EAX_DWORD_PTR_EAX_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_EBP()
- func H汇编_MOV_EAX_DWORD_PTR_EBP_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_EBX()
- func H汇编_MOV_EAX_DWORD_PTR_EBX_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_ECX()
- func H汇编_MOV_EAX_DWORD_PTR_ECX_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_EDI()
- func H汇编_MOV_EAX_DWORD_PTR_EDI_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_EDX()
- func H汇编_MOV_EAX_DWORD_PTR_EDX_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_ESI()
- func H汇编_MOV_EAX_DWORD_PTR_ESI_ADD(disp int32)
- func H汇编_MOV_EAX_DWORD_PTR_ESP()
- func H汇编_MOV_EAX_DWORD_PTR_ESP_ADD(disp int32)
- func H汇编_MOV_EBP(v int32)
- func H汇编_MOV_EBP_DWORD_PTR(addr int32)
- func H汇编_MOV_EBX(v int32)
- func H汇编_MOV_EBX_DWORD_PTR(addr int32)
- func H汇编_MOV_EBX_DWORD_PTR_EAX_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_EBP_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_EBX_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_ECX_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_EDI_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_EDX_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_ESI_ADD(disp int32)
- func H汇编_MOV_EBX_DWORD_PTR_ESP_ADD(disp int32)
- func H汇编_MOV_ECX(v int32)
- func H汇编_MOV_ECX_DWORD_PTR(addr int32)
- func H汇编_MOV_ECX_DWORD_PTR_EAX_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_EBP_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_EBX_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_ECX_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_EDI_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_EDX_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_ESI_ADD(disp int32)
- func H汇编_MOV_ECX_DWORD_PTR_ESP_ADD(disp int32)
- func H汇编_MOV_EDI(v int32)
- func H汇编_MOV_EDI_DWORD_PTR(addr int32)
- func H汇编_MOV_EDX(v int32)
- func H汇编_MOV_EDX_DWORD_PTR(addr int32)
- func H汇编_MOV_EDX_DWORD_PTR_EAX_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_EBP_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_EBX_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_ECX_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_EDI_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_EDX_ADD(disp int32)
- func H汇编_MOV_EDX_DWORD_PTR_ESI_ADD(disp int32)
- func H汇编_MOV_ESI(v int32)
- func H汇编_MOV_ESI_DWORD_PTR(addr int32)
- func H汇编_MOV_ESI_DWORD_PTR_EAX_ADD(disp int32)
- func H汇编_MOV_ESP(v int32)
- func H汇编_MOV_ESP_DWORD_PTR(addr int32)
- func H汇编_NOP()
- func H汇编_POPAD()
- func H汇编_PUSHAD()
- func H汇编_RET()
- func H汇编_TEST_EAX_EAX()
- func H汇编_取代码() []byte
- func H汇编_取随机字节(长度 int) ([]byte, error)
- func H汇编_取随机数(起始数, 结束数 int) int
- func H汇编_置代码(代码 []byte)
- func H汇编_运行汇编代码() (uintptr, error)
- func H汇编_远程执行汇编代码(进程ID uint32, 代码 []byte) error
- func IP_10进制转IP(decimal int) string
- func IP_IP转10进制(ip string) int
- func IP_Ping测试(主机 string, 端口 int, 超时毫秒 int) bool
- func IP_取MAC地址() map[string]string
- func IP_取内网IP() []string
- func IP_取外网IP() string
- func IP_取外网IP详细信息() string
- func IP_取首选内网IP() string
- func IP_是否内网IP(ip string) bool
- func IP_是否有效IP(ip string) bool
- func Int32ToBytes(i int32) []byte
- func Int64到Float64(值 int64) float64
- func Intersection(a, b []int) []int
- func Int取绝对值(值 int) int
- func IsPrime(n int) bool
- func Jjson_删除值(json文本 string, 路径 string) (string, error)
- func Jjson_到文本(值 interface{}) (string, error)
- func Jjson_到格式化文本(值 interface{}, 缩进 string) (string, error)
- func Jjson_取值(json文本 string, 路径 string) string
- func Jjson_取对象(json文本 string, 路径 string) map[string]gjson.Result
- func Jjson_取所有路径(json文本 string) []string
- func Jjson_取数组(json文本 string, 路径 string) []gjson.Result
- func Jjson_取数组长度(json文本 string, 路径 string) int
- func Jjson_取整数(json文本 string, 路径 string) int64
- func Jjson_取浮点数(json文本 string, 路径 string) float64
- func Jjson_取逻辑型(json文本 string, 路径 string) bool
- func Jjson_是否存在(json文本 string, 路径 string) bool
- func Jjson_解析(json文本 string, 目标 interface{}) error
- func Jjson_设置值(json文本 string, 路径 string, 值 interface{}) (string, error)
- func Jjson_设置整数值(json文本 string, 路径 string, 值 int64) (string, error)
- func Jjson_设置文本值(json文本 string, 路径 string, 值 string) (string, error)
- func Join(parts []string, sep string) string
- func J加解密_3DES_CBC加密(明文, 密钥, IV []byte) (string, error)
- func J加解密_3DES_CBC解密(密文Base64 string, 密钥, IV []byte) ([]byte, error)
- func J加解密_3DES_ECB加密(明文, 密钥 []byte) (string, error)
- func J加解密_3DES_ECB解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_AES_CBC加密(明文, 密钥, IV []byte) (string, error)
- func J加解密_AES_CBC解密(密文Base64 string, 密钥, IV []byte) ([]byte, error)
- func J加解密_AES_CFB加密(明文, 密钥 []byte) (string, error)
- func J加解密_AES_CFB解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_AES_CTR加密(明文, 密钥 []byte) (string, error)
- func J加解密_AES_CTR解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_AES_ECB加密(明文, 密钥 []byte) (string, error)
- func J加解密_AES_ECB解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_AES_GCM加密(明文, 密钥, 附加数据 []byte) (string, error)
- func J加解密_AES_GCM解密(密文Base64 string, 密钥, 附加数据 []byte) ([]byte, error)
- func J加解密_AES_OFB加密(明文, 密钥 []byte) (string, error)
- func J加解密_AES_OFB解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_DES_CBC加密(明文, 密钥, IV []byte) (string, error)
- func J加解密_DES_CBC解密(密文Base64 string, 密钥, IV []byte) ([]byte, error)
- func J加解密_DES_ECB加密(明文, 密钥 []byte) (string, error)
- func J加解密_DES_ECB解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_RC4(数据, 密钥 []byte) string
- func J加解密_RC4字节集(数据, 密钥 []byte) []byte
- func J加解密_TEA加密(明文, 密钥 []byte) (string, error)
- func J加解密_TEA解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_XOR(数据, 密钥 []byte) []byte
- func J加解密_XOR文本(数据, 密钥 []byte) string
- func J加解密_XXTEA加密(明文, 密钥 []byte) (string, error)
- func J加解密_XXTEA解密(密文Base64 string, 密钥 []byte) ([]byte, error)
- func J加解密_生成AES密钥(长度 int) ([]byte, error)
- func J加解密_生成IV(块大小 int) ([]byte, error)
- func J校验_HMAC_MD5(密钥 []byte, 数据 []byte, 返回值转成大写 bool) string
- func J校验_HMAC_SHA1(密钥 []byte, 数据 []byte, 返回值转成大写 bool) string
- func J校验_HMAC_SHA256(密钥 []byte, 数据 []byte, 返回值转成大写 bool) string
- func J校验_HMAC_SHA512(密钥 []byte, 数据 []byte, 返回值转成大写 bool) string
- func J校验_取Adler32(数据 []byte, 返回值转成大写 bool) string
- func J校验_取CRC64(数据 []byte, 返回值转成大写 bool) string
- func J校验_取Crc32(数据 []byte, 返回值转成大写 bool) string
- func J校验_取Crc32_文件(文件路径 string, 返回值转成大写 bool) (string, error)
- func J校验_取md5(字节集数据 []byte, 返回值转成大写 bool) string
- func J校验_取md5_16位(字节集数据 []byte, 返回值转成大写 bool) string
- func J校验_取md5_文件(文件路径 string, 返回值转成大写 bool) (string, error)
- func J校验_取md5_文本(文本数据 string, 返回值转成大写 bool) string
- func J校验_取sha1(数据 []byte, 返回值转成大写 bool) string
- func J校验_取sha1_文件(文件路径 string, 返回值转成大写 bool) (string, error)
- func J校验_取sha256(数据 []byte, 返回值转成大写 bool) string
- func J校验_取sha256_文件(文件路径 string, 返回值转成大写 bool) (string, error)
- func J校验_取sha512(数据 []byte, 返回值转成大写 bool) string
- func J校验_取sha512_文件(文件路径 string, 返回值转成大写 bool) (string, error)
- func J校验_校验HMAC(密钥 []byte, 数据 []byte, 预期值 string) bool
- func J校验_校验MD5(数据 []byte, 预期值 string) bool
- func J校验_校验SHA256(数据 []byte, 预期值 string) bool
- func J校验_校验文件MD5(文件路径 string, 预期值 string) (bool, error)
- func J校验_校验文件SHA256(文件路径 string, 预期值 string) (bool, error)
- func J结构体_合并(目标 interface{}, 源 interface{}) error
- func J结构体_合并Map(目标 interface{}, 源 interface{}) error
- func J结构体_合并Map覆盖(目标 interface{}, 源 interface{}) error
- func J结构体_合并不带空值(目标 interface{}, 源 interface{}) error
- func J结构体_合并覆盖(目标 interface{}, 源 interface{}) error
- func J结构体_复制(目标 interface{}, 源 interface{}) error
- func J结构体_复制带选项(目标 interface{}, 源 interface{}, 忽略空值 bool) error
- func K环境_从文本读取(文本 string) (map[string]string, error)
- func K环境_删除值(名称 string) error
- func K环境_加载(文件路径 string) error
- func K环境_加载并覆盖(文件路径 string) error
- func K环境_取值(名称 string) string
- func K环境_取值带默认值(名称 string, 默认值 string) string
- func K环境_取所有() []string
- func K环境_是否存在(名称 string) bool
- func K环境_设置值(名称 string, 值 string) error
- func K表格_从CSV读取(csv文本 string) ([]string, [][]string, error)
- func K表格_从TSV读取(tsv文本 string) ([]string, [][]string)
- func K表格_列数(表头 []string) int
- func K表格_创建() *termtables.Table
- func K表格_去重(行数据 [][]string) [][]string
- func K表格_取列(行数据 [][]string, 列索引 int) []string
- func K表格_取行(行数据 [][]string, 行索引 int) []string
- func K表格_合并(行数据1 [][]string, 行数据2 [][]string) [][]string
- func K表格_快速创建(表头 []string, 行数据 [][]string) string
- func K表格_排序列(行数据 [][]string, 列索引 int, 升序 bool) [][]string
- func K表格_添加分隔线(表格 *termtables.Table)
- func K表格_添加行(表格 *termtables.Table, 行数据 ...interface{})
- func K表格_添加表头(表格 *termtables.Table, 表头 ...string)
- func K表格_行数(行数据 [][]string) int
- func K表格_转置(表头 []string, 行数据 [][]string) ([]string, [][]string)
- func K表格_输出(表格 *termtables.Table) string
- func K表格_输出CSV(表头 []string, 行数据 [][]string) string
- func K表格_输出HTML(表头 []string, 行数据 [][]string) string
- func K表格_输出JSON(表头 []string, 行数据 [][]string) string
- func K表格_输出Markdown(表头 []string, 行数据 [][]string) string
- func K表格_输出TSV(表头 []string, 行数据 [][]string) string
- func K表格_过滤行(行数据 [][]string, 条件 func(int, []string) bool) [][]string
- func LBinarySearch(nums []int, target int) int
- func LLinearSearch[T comparable](slice []T, target T) int
- func LMergeSort(nums []int) []int
- func LQuickSort(nums []int)
- func LessOrEqual[T constraints.Ordered](left, right T) bool
- func LessThan[T constraints.Ordered](left, right T) bool
- func L日志_信息(日志 *zap.Logger, 消息 string, 字段 ...zap.Field)
- func L日志_创建开发日志() (*zap.Logger, error)
- func L日志_创建生产日志() (*zap.Logger, error)
- func L日志_创建自定义日志(日志级别 int, 输出路径 []string, JSON格式 bool) (*zap.Logger, error)
- func L日志_同步(日志 *zap.Logger) error
- func L日志_字符串(键 string, 值 string) zap.Field
- func L日志_整数(键 string, 值 int) zap.Field
- func L日志_警告(日志 *zap.Logger, 消息 string, 字段 ...zap.Field)
- func L日志_调试(日志 *zap.Logger, 消息 string, 字段 ...zap.Field)
- func L日志_错误(日志 *zap.Logger, 消息 string, 字段 ...zap.Field)
- func L日志_错误类型(键 string, 值 error) zap.Field
- func MapLength[K comparable, V any](m map[K]V) int
- func MapSlice[T any, U any](slice []T, fn func(T) U) []U
- func MapToPairs[K comparable, V any](m map[K]V) [][]interface{}
- func MapValues[K comparable, V any, U any](m map[K]V, fn func(V) U) map[K]U
- func Map_Struct转Map(obj interface{}) map[string]interface{}
- func Map_取key整数数组(m map[int]string) []int
- func Map_转post数据(URL参数 map[string]string, 是否url编码 bool) string
- func Map_键名是否存在(m map[int]string, key int) bool
- func MathAverage(nums []int) float64
- func MathMax(nums []int) int
- func MathMin(nums []int) int
- func MathSum(nums []int) int
- func MergeMaps[K comparable, V any](maps ...map[K]V) map[K]V
- func M命令行_取剩余参数() []string
- func M命令行_取字符串参数(短名称 string, 长名称 string, 默认值 string, 说明 string) *string
- func M命令行_取小数参数(短名称 string, 长名称 string, 默认值 float64, 说明 string) *float64
- func M命令行_取布尔参数(短名称 string, 长名称 string, 默认值 bool, 说明 string) *bool
- func M命令行_取整数参数(短名称 string, 长名称 string, 默认值 int, 说明 string) *int
- func M命令行_取程序名() string
- func M命令行_显示默认用法()
- func M命令行_置用法(用法函数 func())
- func M命令行_解析()
- func M目录_创建(路径 string) error
- func M目录_删除(欲删除的目录名称 string) error
- func M目录_取当前目录() string
- func M目录_取运行目录() string
- func M目录_是否存在(path string) (bool, error)
- func M目录_枚举子目录(父文件夹路径 string, 子目录数组 *[]string, 是否带路径 bool, ...) error
- func N键值_关闭(数据库 *buntdb.DB) error
- func N键值_创建索引(数据库 *buntdb.DB, 索引名 string, 模式 string) error
- func N键值_删除(数据库 *buntdb.DB, 键 string) error
- func N键值_取值(数据库 *buntdb.DB, 键 string) (string, error)
- func N键值_打开(文件路径 string) (*buntdb.DB, error)
- func N键值_置值(数据库 *buntdb.DB, 键 string, 值 string) error
- func N键值_置值带过期(数据库 *buntdb.DB, 键 string, 值 string, 过期秒数 float64) error
- func N键值_遍历(数据库 *buntdb.DB, 起始键 string, 结束键 string, ...) error
- func PI() float64
- func PairsToMap(pairs [][]interface{}) map[interface{}]interface{}
- func Pow(base, exponent float64) float64
- func P对象池_取字节集(数据 []byte) []byte
- func P对象池_取文本(文本 string) string
- func P对象池_放回(缓冲区 *bytebufferpool.ByteBuffer)
- func P对象池_获取() *bytebufferpool.ByteBuffer
- func P配置_从文件读取(文件路径 string) (*viper.Viper, error)
- func P配置_从文件读取指定项(文件路径 string, 键名 string) (string, error)
- func P配置_写回文件(v *viper.Viper) error
- func P配置_取值(v *viper.Viper, 键名 string) string
- func P配置_取字符串切片(v *viper.Viper, 键名 string) []string
- func P配置_取整数值(v *viper.Viper, 键名 string) int
- func P配置_取整数切片(v *viper.Viper, 键名 string) []int
- func P配置_取浮点数值(v *viper.Viper, 键名 string) float64
- func P配置_取逻辑值(v *viper.Viper, 键名 string) bool
- func P配置_变更回调(v *viper.Viper, 回调 func())
- func P配置_监听变更(v *viper.Viper)
- func P配置_绑定环境变量(v *viper.Viper, 键名 string, 环境变量名 string)
- func P配置_自动环境变量(v *viper.Viper, 前缀 string)
- func P配置_设置值(v *viper.Viper, 键名 string, 值 interface{})
- func Q取单条Cookie(原Cookies, 单条Cookie名称 string) string
- func Q取随机数(min, max int) int
- func Q权限_从文件创建(模型文件路径 string, 策略文件路径 string) (*casbin.Enforcer, error)
- func Q权限_从文本创建(模型文本 string, 适配器 persist.Adapter) (*casbin.Enforcer, error)
- func Q权限_保存策略(管理器 *casbin.Enforcer) error
- func Q权限_创建内存(模型文本 string) (*casbin.Enforcer, error)
- func Q权限_创建文件适配器(策略文件路径 string) *fileadapter.Adapter
- func Q权限_删除策略(管理器 *casbin.Enforcer, 主体 string, 资源 string, 操作 string) (bool, error)
- func Q权限_删除角色(管理器 *casbin.Enforcer, 用户 string, 角色 string) (bool, error)
- func Q权限_加载策略(管理器 *casbin.Enforcer) error
- func Q权限_取用户角色(管理器 *casbin.Enforcer, 用户 string) ([]string, error)
- func Q权限_检查权限(管理器 *casbin.Enforcer, 主体 string, 资源 string, 操作 string) (bool, error)
- func Q权限_添加策略(管理器 *casbin.Enforcer, 主体 string, 资源 string, 操作 string) (bool, error)
- func Q权限_添加角色(管理器 *casbin.Enforcer, 用户 string, 角色 string) (bool, error)
- func RSA_公钥解密(公钥 string, 密文 []byte) (明文字节集 []byte)
- func RSA_私钥加密(Rsa私钥 []byte, 明文 []byte) (base64密文 string)
- func Repeat(s string, count int) string
- func ReplaceAll(s, old, new string) string
- func Retry[T any](fn func() (T, error), maxRetries int, interval time.Duration) (T, error)
- func RetryWithCondition[T any](fn func() (T, error), shouldRetry func(error) bool, maxRetries int, ...) (T, error)
- func Reverse(nums []int)
- func ReverseMap[K comparable, V comparable](m map[K]V) map[V]K
- func Rsa_GetKey() (err error, PublicKey string, PrivateKey string)
- func Rsa_公钥加密(公钥 string, 加密内容 []byte) (base64密文 string)
- func Rsa_私钥签名(base64后明文 string, RSA私钥 string) string
- func Rsa_私钥解密(Rsa私钥 []byte, 加密数据 []byte) string
- func Rsa_私钥解密2(Rsa私钥 []byte, 加密数据 []byte) []byte
- func R日期_到文本(时间 time.Time, 格式 string) string
- func R日期_取日期部分(时间 time.Time) string
- func R日期_取时间戳(时间 time.Time) int64
- func R日期_取时间部分(时间 time.Time) string
- func R日期_取格式名称(日期文本 string) string
- func R日期_取毫秒时间戳(时间 time.Time) int64
- func R日期_智能解析(日期文本 string) (time.Time, error)
- func R日期_智能解析严格(日期文本 string) (time.Time, error)
- func R日期_智能解析本地(日期文本 string) (time.Time, error)
- func SafeGet[K comparable, V any](m map[K]V, key K, defaultVal V) V
- func SliceDeduplicate(nums []int) []int
- func SnakeToCamel(s string) string
- func Sort(nums []int)
- func SortDescending(nums []int)
- func Split(s, sep string) []string
- func Sqrt(n float64) float64
- func StringReverse(s string) string
- func Substring(s string, start int) string
- func SubstringLength(s string, start, length int) string
- func S三元[T any](value bool, string1, string2 T) T
- func S数组_乱序[T comparable](数组 []T) []T
- func S数组_到文本(array []interface{}) string
- func S数组_去重复[T comparable](数组 []T) []T
- func S数组_反转(反转的数组切片 []interface{})
- func S数组_取差集(a, b []int) []int
- func S数组_取文本出现次数(参数_数组 []string, 参数_成员 string) int
- func S数组_取文本索引(文本数组 []string, 文本 string) int
- func S数组_取随机成员(源数组 []string, 数量 int) []string
- func S数组_合并文本[T comparable](数组 []T, 连接字符 string) string
- func S数组_排序整数(arr []int) []int
- func S数组_排序文本(arr []string) []string
- func S数组_整数取差集(int1 []int, int2 []int) []int
- func S数组_整数是否存在(数组 []int, 整数 int) bool
- func S数组_是否为空(list []string) (isEmpty bool)
- func S数组_是否存在[T comparable](数组 []T, 元素 T) bool
- func S数组_求平均值(参数 []int) int
- func S时间_取HTTP网络时间() time.Time
- func S时间_取日期() string
- func S时间_取时间() string
- func S时间_取星期() string
- func S时间_取月份天数(年, 月 int) int
- func S时间_取本地与网络时差(服务器 string) int64
- func S时间_取现行时间() string
- func S时间_取现行时间戳() int64
- func S时间_取现行时间戳13() int64
- func S时间_取网络时间(服务器 string) time.Time
- func S时间_取网络时间戳(服务器 string) int64
- func S时间_取网络时间文本(服务器 string) string
- func S时间_文本到时间戳(时间文本 string) int
- func S时间_时间到时间戳(时间 string) int64
- func S时间_时间戳13到时间(时间戳 int64) string
- func S时间_时间戳到时间(时间戳 int64) string
- func S时间_时间戳格式化(format string, 时间戳 int64) string
- func S时间_是否闰年(年 int) bool
- func S时间_秒转时间文本(秒 int64) string
- func S时间_计算时间差(开始时间戳, 结束时间戳 int64) string
- func S是否为数组(通用型变量 interface{}) bool
- func TakeFirstN[T any](slice []T, n int) []T
- func TakeLastN[T any](slice []T, n int) []T
- func ToLower(s string) string
- func ToUpper(s string) string
- func TrimLeft(s string) string
- func TrimRight(s string) string
- func TrimSpace(s string) string
- func T图片_从字节读取(数据 []byte) (image.Image, error)
- func T图片_从读取器读取(读取器 io.Reader) (image.Image, string, error)
- func T图片_伽马校正(图片 image.Image, 伽马值 float64) image.Image
- func T图片_保存(图片 image.Image, 文件路径 string) error
- func T图片_保存GIF(图片 image.Image, 文件路径 string) error
- func T图片_保存JPEG(图片 image.Image, 文件路径 string, 质量 int) error
- func T图片_保存PNG(图片 image.Image, 文件路径 string) error
- func T图片_创建纯色图(宽度 int, 高度 int, 颜色值 color.Color) image.Image
- func T图片_创建透明图(宽度 int, 高度 int) image.Image
- func T图片_反色(图片 image.Image) image.Image
- func T图片_取像素RGBA(图片 image.Image, x int, y int) (uint32, uint32, uint32, uint32)
- func T图片_取像素颜色(图片 image.Image, x int, y int) color.Color
- func T图片_取宽度(图片 image.Image) int
- func T图片_取尺寸(图片 image.Image) (int, int)
- func T图片_取边界(图片 image.Image) image.Rectangle
- func T图片_取高度(图片 image.Image) int
- func T图片_叠加(底图 image.Image, 上层图 image.Image, x int, y int) image.Image
- func T图片_叠加带透明度(底图 image.Image, 上层图 image.Image, x int, y int, 透明度 float64) image.Image
- func T图片_垂直翻转(图片 image.Image) image.Image
- func T图片_居中裁剪(图片 image.Image, 宽度 int, 高度 int) image.Image
- func T图片_拼接垂直(图片列表 []image.Image) image.Image
- func T图片_拼接水平(图片列表 []image.Image) image.Image
- func T图片_旋转(图片 image.Image, 角度 float64) image.Image
- func T图片_旋转90(图片 image.Image) image.Image
- func T图片_旋转180(图片 image.Image) image.Image
- func T图片_旋转270(图片 image.Image) image.Image
- func T图片_模糊(图片 image.Image, 半径 float64) image.Image
- func T图片_水平翻转(图片 image.Image) image.Image
- func T图片_添加水印(底图 image.Image, 水印图 image.Image, 位置 string, 偏移X int, ...) image.Image
- func T图片_灰度化(图片 image.Image) image.Image
- func T图片_生成二维码(内容 string, 文件路径 string, 尺寸 int) error
- func T图片_生成二维码base64(内容 string) string
- func T图片_生成二维码到写入器(内容 string, 写入器 io.Writer, 尺寸 int) error
- func T图片_生成二维码自定义(内容 string, 容错等级 int, 尺寸 int) (image.Image, error)
- func T图片_缩放(图片 image.Image, 宽度 int, 高度 int) image.Image
- func T图片_缩放到宽度(图片 image.Image, 宽度 int) image.Image
- func T图片_缩放到高度(图片 image.Image, 高度 int) image.Image
- func T图片_缩略图(图片 image.Image, 宽度 int, 高度 int) image.Image
- func T图片_裁剪(图片 image.Image, 左 int, 上 int, 右 int, 下 int) image.Image
- func T图片_设置透明度(图片 image.Image, 透明度 float64) image.Image
- func T图片_读取(文件路径 string) (image.Image, error)
- func T图片_读取Base64(base64文本 string) (image.Image, error)
- func T图片_调整亮度(图片 image.Image, 亮度 int) image.Image
- func T图片_调整对比度(图片 image.Image, 对比度 int) image.Image
- func T图片_调整色相(图片 image.Image, 色相 int) image.Image
- func T图片_调整饱和度(图片 image.Image, 饱和度 int) image.Image
- func T图片_转Base64(图片 image.Image, 格式 string) (string, error)
- func T图片_转DataURI(图片 image.Image, 格式 string) (string, error)
- func T图片_转字节(图片 image.Image, 格式 string) ([]byte, error)
- func T图片_锐化(图片 image.Image, 强度 float64) image.Image
- func T模板_写入(模板文本 string, 写入器 io.Writer, 标签 map[string]interface{}) (int64, error)
- func T模板_创建(模板文本 string, 起始标记 string, 结束标记 string) (*fasttemplate.Template, error)
- func T模板_执行(模板文本 string, 标签 map[string]interface{}) (string, error)
- func T模板_执行自定义分隔符(模板文本 string, 起始标记 string, 结束标记 string, ...) (string, error)
- func T模板_替换(模板文本 string, 标签 map[string]interface{}) string
- func Utf8到文本(src string) string
- func V校验_取结构体标签(结构体 interface{}, 字段名 string) string
- func V校验_取错误信息(错误 error) string
- func V校验_是IP(ip string) bool
- func V校验_是JSON(json文本 string) bool
- func V校验_是URL(网址 string) bool
- func V校验_是邮箱(邮箱 string) bool
- func V校验_注册自定义验证(规则名 string, 验证函数 func(fl validator.FieldLevel) bool) error
- func V校验_验证变量(变量 interface{}, 标签 string) error
- func V校验_验证字段(结构体 interface{}, 字段名 string, 标签 string) error
- func V校验_验证结构体(结构体 interface{}) error
- func W文件_保存(文件名 string, 欲写入文件的数据 interface{}) error
- func W文件_写出(文件名 string, 欲写入文件的数据 interface{}) error
- func W文件_写出文件(文件名 string, 欲写入文件的数据 interface{}) error
- func W文件_写到文件(文件名 string, 欲写入文件的数据 []byte) error
- func W文件_删除(欲删除的文件名 string) error
- func W文件_取临时文件名(目录名 string) (f *os.File, filepath string, err error)
- func W文件_取大小(文件名 string) int64
- func W文件_取文件名(路径 string) string
- func W文件_取父目录(dirpath string) string
- func W文件_是否存在(路径 string) bool
- func W文件_更名(欲更名的原文件或目录名 string, ...) error
- func W文件_枚举(欲寻找的目录 string, 欲寻找的文件名 string, files *[]string, ...) error
- func W文件_读入文件(文件名 string) []byte
- func W文件_读入文本(文件名 string) string
- func W文件_路径合并处理(elem ...string) string
- func W文件_追加文本(文件名 string, 欲追加的文本 string) error
- func W文本_gbk到utf8(src string) string
- func W文本_utf8到gbk(src string) string
- func W文本_倒取出中间文本(欲取全文本 string, 右边文本 string, 左边文本 string, ...) string
- func W文本_倒找文本(被搜寻的文本 string, 欲寻找的文本 string) int
- func W文本_分割文本(待分割文本 string, 用作分割的文本 string) []string
- func W文本_删尾空(欲删除空格的文本 string) string
- func W文本_删除指定文本行(源文本 string, 行数 int) string
- func W文本_删除空行(要操作的文本 string) string
- func W文本_删首尾空(内容 string) string
- func W文本_删首空(欲删除空格的文本 string) string
- func W文本_到大写(value string) string
- func W文本_到小写(value string) string
- func W文本_去重复文本(原文本 string, 分割符 string) string
- func W文本_去除敏感信息(内容 string) string
- func W文本_取出中间文本(内容 string, 左边文本 string, 右边文本 string) string
- func W文本_取出中间文本_批量正则(内容 string, 左边文本 string, 右边文本 string) []string
- func W文本_取出现次数(被搜索文本 string, 欲搜索文本 string) int
- func W文本_取右边(欲取其部分的文本 string, 欲取出字符的数目 int) string
- func W文本_取左边(欲取其部分的文本 string, 欲取出字符的数目 int) string
- func W文本_取指定变量文本行(文本 string, 行号 int) string
- func W文本_取文本右边(内容 string, 关键字 string) string
- func W文本_取文本右边2(被查找的文本 string, 欲寻找的文本 string, 起始寻找位置 int, ...) string
- func W文本_取文本右边_带关键字(内容 string, 关键字 string) string
- func W文本_取文本左边(内容 string, 关键字 string) string
- func W文本_取文本左边2(内容 string, 关键字 string) string
- func W文本_取文本所在行(源文本 string, 欲查找的文本 string, 是否区分大小写 bool) int
- func W文本_取空白(重复次数 int) string
- func W文本_取行数(文本 string) int
- func W文本_取重复(重复次数 int, 待重复文本 string) string
- func W文本_取长度(value string) int
- func W文本_取随机IP() string
- func W文本_取随机ip() string
- func W文本_取随机字符串(字符串长度 int) string
- func W文本_取随机字符串_数字(字符串长度 int) string
- func W文本_取随机数字数组(最小值, 最大值 int, 数量 int) []string
- func W文本_取随机范围数字(起始数, 结束数, 单双选择 int) string
- func W文本_子文本替换(欲被替换的文本 string, 欲被替换的子文本 string, ...) string
- func W文本_字符(字节型 int8) string
- func W文本_寻找(源文本, 要寻找的文本 string) int
- func W文本_寻找文本(被搜寻的文本 string, 欲寻找的文本 string) int
- func W文本_是否JSON(s string) bool
- func W文本_是否为字母(s string) bool
- func W文本_是否为数字(s string) bool
- func W文本_是否为英数字母(s string) bool
- func W文本_是否包含关键字(内容, 关键字 string) bool
- func W文本_是否存在(内容, 关键字 string) bool
- func W文本_是否存在_任意(内容 string, 关键字 []string) bool
- func W文本_是否存在_同时(内容 string, 关键字 []string) bool
- func W文本_替换(源文本, 旧文本, 新文本 string) string
- func W文本_替换2(源文本 string, 替换内容 map[string]string) string
- func W文本_逐字分割(原文本 string) []string
- func W文本_颠倒(欲转换文本 string, 带有中文 bool) string
- func W文本_首字母改大写(英文文本 string) string
- func W文本到utf8(src string) string
- func W网页_Cookie合并更新(旧Cookie, 新Cookie string) string
- func W网页_取域名(Url string) string
- func W网页_处理协议头(原始协议头 string) string
- func W网页_访问_对象(网址 string, 访问方式 int, 提交信息 string, 提交Cookies string, ...) []byte
- func X消息_关闭主题(总线 messagebus.MessageBus, 主题 string)
- func X消息_创建(最大订阅者数 int) messagebus.MessageBus
- func X消息_发布(总线 messagebus.MessageBus, 主题 string, 消息 ...interface{})
- func X消息_取消订阅(总线 messagebus.MessageBus, 主题 string, 回调函数 interface{}) error
- func X消息_订阅(总线 messagebus.MessageBus, 主题 string, 回调函数 interface{}) error
- func X系统_取CPU使用率(间隔 int) ([]float64, error)
- func X系统_取CPU信息() ([]cpu.InfoStat, error)
- func X系统_取CPU核心数() (int, error)
- func X系统_取CPU物理核心数() (int, error)
- func X系统_取Go版本() string
- func X系统_取主机信息() (*host.InfoStat, error)
- func X系统_取交换区信息() (*mem.SwapMemoryStat, error)
- func X系统_取内存信息() (*mem.VirtualMemoryStat, error)
- func X系统_取开机时间() (uint64, error)
- func X系统_取当前进程ID() int32
- func X系统_取当前进程信息() (*process.Process, error)
- func X系统_取总CPU使用率(间隔 int) (float64, error)
- func X系统_取操作系统类型() string
- func X系统_取磁盘IO信息() (map[string]disk.IOCountersStat, error)
- func X系统_取磁盘使用量(路径 string) (*disk.UsageStat, error)
- func X系统_取磁盘信息() ([]disk.PartitionStat, error)
- func X系统_取系统架构() string
- func X系统_取系统负载() (*load.AvgStat, error)
- func X系统_取网络IO信息() ([]net.IOCountersStat, error)
- func X系统_取网络接口信息() ([]net.InterfaceStat, error)
- func X系统_取网络连接信息() ([]net.ConnectionStat, error)
- func X系统_取进程CPU占用(pid int32) float64
- func X系统_取进程信息(pid int32) (*process.Process, error)
- func X系统_取进程内存占用(pid int32) float64
- func X系统_取进程列表() ([]*process.Process, error)
- func X系统_取进程名(pid int32) string
- func X系统_取逻辑处理器数() int
- func X系统_是否64位系统() bool
- func Y原子_递减(整数变量 *int64) int64
- func Y原子_递增(整数变量 *int64) int64
- func Z字节集_Gzip解压(字节集 []byte) (data []byte, err error)
- func Z字节集_十六进制到字节集(原始16进制文本 string) []byte
- func Z字节集_字节集到十六进制(字节集 []byte) string
- func Z字节集_寻找(被搜寻的字节集 []byte, 欲寻找的字节集 []byte, ...) int
- func Z正则_取Url连接地址(str string) []string
- func Z正则_取ip端口(str string) string
- func Z正则_取ip端口多个(str string) []string
- func Z正则_取全部匹配子文本(str, 正则表达式 string) []string
- func Z正则_是否英数(s string, msg *string) bool
- func Z正则_校验email(s string, msg *string) bool
- func Z正则_校验代理用户名(s string, msg *string) bool
- func Z正则_校验密码(s string, msg *string) bool
- func Z正则_校验用户名(s string, msg *string) bool
- func Z正则_校验纯数字(s string, msg *string) bool
- func Z正则_校验纯数字指定位数(s string, msg *string, 位数 int) bool
- type LRUCache
- type Post数据类
- func (p *Post数据类) H获取JSON文本() string
- func (p *Post数据类) H获取Key数组() []string
- func (p *Post数据类) H获取Post数据(是否URL编码 bool) string
- func (p *Post数据类) H获取Value数组() []string
- func (p *Post数据类) H获取协议头数据(是否URL编码 bool) string
- func (p *Post数据类) Q取值(key string) string
- func (p *Post数据类) Q清空()
- func (p *Post数据类) S删除(key string)
- func (p *Post数据类) T添加(key, value string, 转码 bool)
- func (p *Post数据类) T添加_批量(文本 string, 转码 bool)
- func (p *Post数据类) Z置值(key, value string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Abs ¶
Abs returns the absolute value of an integer.
Parameters:
- n: integer to get absolute value
Returns:
- int: absolute value
Example:
Abs(-5) // 5 Abs(5) // 5
func B编码_BASE32HEX编码 ¶
B编码_BASE32HEX编码 将字节集进行 Base32 Hex 编码(使用 0-9 A-V 字符集)。
参数:
- 字节集: 待编码的字节集
返回:
- string: Base32 Hex 编码后的字符串
func B编码_BASE32HEX解码 ¶
B编码_BASE32HEX解码 将 Base32 Hex 编码的文本解码为字节集。
参数:
- 文本: Base32 Hex 编码的文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_BASE32解码 ¶
B编码_BASE32解码 将 Base32 编码的文本解码为字节集。
参数:
- 文本: Base32 编码的文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_BASE64URL编码 ¶
B编码_BASE64URL编码 将字节集进行 URL 安全的 Base64 编码。 使用 - 替换 +,_ 替换 /,不含 = 填充,适合用于 URL 参数。
参数:
- 字节集: 待编码的字节集
返回:
- string: URL 安全的 Base64 编码字符串
func B编码_BASE64URL解码 ¶
B编码_BASE64URL解码 将 URL 安全的 Base64 编码文本解码为字节集。
参数:
- 文本: URL 安全的 Base64 编码文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_BASE64无填充编码 ¶
B编码_BASE64无填充编码 将字节集进行标准 Base64 编码(无 = 填充)。
参数:
- 字节集: 待编码的字节集
返回:
- string: 无填充的 Base64 编码字符串
func B编码_BASE64无填充解码 ¶
B编码_BASE64无填充解码 将无填充的 Base64 编码文本解码为字节集。
参数:
- 文本: 无填充的 Base64 编码文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_BASE64解码 ¶
B编码_BASE64解码 将 Base64 编码的文本解码为字节集。
参数:
- 文本: Base64 编码的文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_GB18030到UTF8 ¶
B编码_GB18030到UTF8 将 GB18030 编码的字节集转换为 UTF-8 文本。
参数:
- 数据: GB18030 编码的字节集
返回:
- string: UTF-8 编码的文本;转换失败返回空串
func B编码_GBK到UTF8 ¶
B编码_GBK到UTF8 将 GBK(ANSI)编码的字节集转换为 UTF-8 文本。
参数:
- 数据: GBK 编码的字节集
返回:
- string: UTF-8 编码的文本;转换失败返回空串
func B编码_HTML编码 ¶
B编码_HTML编码 将文本中的 HTML 特殊字符进行转义编码。 将 & < > " ' 转换为 HTML 实体。
参数:
- 文本: 待编码的文本
返回:
- string: HTML 编码后的文本
func B编码_HTML解码 ¶
B编码_HTML解码 将 HTML 实体解码为原始字符。 将 & < > " ' 等实体还原。
参数:
- 文本: 包含 HTML 实体的文本
返回:
- string: 解码后的文本
func B编码_JSON编码 ¶
func B编码_JSON编码(值 interface{}) string
B编码_JSON编码 将 Go 值编码为 JSON 字符串。
参数:
- 值: 待编码的 Go 值(结构体、Map 等)
返回:
- string: JSON 编码字符串;编码失败返回空串
func B编码_JSON编码缩进 ¶
B编码_JSON编码缩进 将 Go 值编码为带缩进的 JSON 字符串。
参数:
- 值: 待编码的 Go 值
- 前缀: 每行前缀(可为空)
- 缩进: 缩进字符串(如 " " 或 "\t")
返回:
- string: 带缩进的 JSON 字符串;编码失败返回空串
func B编码_MIMEB64编码 ¶
B编码_MIMEB64编码 对文本进行 MIME Base64 编码(用于邮件头部)。
参数:
- 文本: 待编码的文本
返回:
- string: MIME Base64 编码字符串
func B编码_MIME编码 ¶
B编码_MIME编码 对文本进行 MIME 编码(用于邮件头部)。 自动选择 Quoted-Printable 或 Base64 编码方式。
参数:
- 文本: 待编码的文本
返回:
- string: MIME 编码字符串
func B编码_Punycode编码 ¶
B编码_Punycode编码 将国际化域名进行 Punycode 编码。 例如 "中文.com" 编码为 "xn--fiq228c.com"。
参数:
- 域名: 国际化域名
返回:
- string: Punycode 编码后的域名;编码失败返回原串
func B编码_Punycode解码 ¶
B编码_Punycode解码 将 Punycode 编码的域名解码为原始域名。
参数:
- 域名: Punycode 编码的域名
返回:
- string: 解码后的域名;解码失败返回原串
func B编码_QP编码 ¶
B编码_QP编码 将字节集进行 Quoted-Printable 编码。 常用于邮件传输中的非 ASCII 字符编码。
参数:
- 字节集: 待编码的字节集
返回:
- string: QP 编码后的字符串
func B编码_QP解码 ¶
B编码_QP解码 将 Quoted-Printable 编码的文本解码为字节集。
参数:
- 文本: QP 编码的文本
返回:
- []byte: 解码后的字节集;解码失败返回空字节集
func B编码_URL组件编码 ¶
B编码_URL组件编码 编码 URL 组件(对路径和查询参数分别编码)。 返回编码后的完整 URL 字符串。
参数:
- 网址: 原始 URL 字符串
返回:
- string: 编码后的 URL;解析失败返回原串
func B编码_URL编码 ¶
B编码_URL编码 对文本进行 URL 编码(百分号编码)。 将特殊字符转换为 %XX 格式,中文等非 ASCII 字符也会被编码。
参数:
- 欲编码的文本: 待编码的文本
返回:
- string: URL 编码后的文本
func B编码_URL解码 ¶
B编码_URL解码 对 URL 编码的文本进行解码。 将 %XX 格式的编码还原为原始字符。
参数:
- URL: URL 编码的文本
返回:
- string: 解码后的文本;解码失败返回空串
func B编码_URL路径编码 ¶
B编码_URL路径编码 对 URL 路径进行编码,保留 / 等路径分隔符。 与 B编码_URL编码 不同,此函数不会编码 / 、& 、= 等路径合法字符。
参数:
- 路径: 待编码的 URL 路径
返回:
- string: 编码后的路径
func B编码_UTF8到GB18030 ¶
B编码_UTF8到GB18030 将 UTF-8 编码的文本转换为 GB18030 编码。 GB18030 是 GBK 的超集,支持更多中文字符。
参数:
- 文本: UTF-8 编码的文本
返回:
- []byte: GB18030 编码的字节集;转换失败返回空字节集
func B编码_UTF8到GBK ¶
B编码_UTF8到GBK 将 UTF-8 编码的文本转换为 GBK(ANSI)编码。 中文 Windows 系统常用 GBK 编码。
参数:
- 文本: UTF-8 编码的文本
返回:
- []byte: GBK 编码的字节集;转换失败返回空字节集
func B编码_UTF8到UTF16 ¶
B编码_UTF8到UTF16 将 UTF-8 文本转换为 UTF-16 小端序字节集。 Windows API 常用 UTF-16LE 编码。
参数:
- 文本: UTF-8 编码的文本
返回:
- []byte: UTF-16LE 编码的字节集(含 BOM 头 FF FE)
func B编码_UTF8到UTF16大端 ¶
B编码_UTF8到UTF16大端 将 UTF-8 文本转换为 UTF-16 大端序字节集。
参数:
- 文本: UTF-8 编码的文本
返回:
- []byte: UTF-16BE 编码的字节集(含 BOM 头 FE FF)
func B编码_UTF16到UTF8 ¶
B编码_UTF16到UTF8 将 UTF-16 字节集转换为 UTF-8 文本。 自动识别 BOM 头判断字节序,无 BOM 默认小端。
参数:
- 数据: UTF-16 编码的字节集
返回:
- string: UTF-8 编码的文本
func B编码_Unicode解码 ¶
B编码_Unicode解码 将 \uXXXX 格式的 Unicode 转义序列解码为文本。 支持 \uXXXX 和 \UXXXXXXXX 两种格式。
参数:
- 文本: 包含 Unicode 转义序列的文本
返回:
- string: 解码后的文本
func B编码_usc2到文本 ¶
B编码_usc2到文本 将 USC2/Unicode 转义序列转换为中文文本。 例如将 \u4e2d\u6587 转换为 "中文"。
参数:
- 字符串: 包含 USC2 转义序列的字符串(如 "\\u4e2d\\u6587")
返回:
- string: 转换后的中文文本;失败返回空串
func B编码_取Unicode码点 ¶
B编码_取Unicode码点 获取文本中指定位置字符的 Unicode 码点值。
参数:
- 文本: 输入文本
- 位置: 字符位置(从 0 开始,按 rune 计数)
返回:
- int: Unicode 码点值;位置越界返回 -1
func B编码_取字符数 ¶
B编码_取字符数 获取文本的 Unicode 字符数(按 rune 计数)。 与 len() 不同,此函数正确计算多字节字符。
参数:
- 文本: 输入文本
返回:
- int: 字符数量
func B编码_整数到大端 ¶
func B编码_整数到大端(值 interface{}) []byte
B编码_整数到大端 将 uint16/uint32/uint64 整数编码为大端字节序。
参数:
- 值: 待编码的整数值
返回:
- []byte: 大端字节序的字节集
func B编码_整数到小端 ¶
func B编码_整数到小端(值 interface{}) []byte
B编码_整数到小端 将 uint16/uint32/uint64 整数编码为小端字节序。
参数:
- 值: 待编码的整数值
返回:
- []byte: 小端字节序的字节集
func B编码_文本到USC2 ¶
B编码_文本到USC2 将中文文本转换为 USC2/Unicode 转义序列。 例如将 "中文" 转换为 \u4e2d\u6587。
参数:
- 文本: 待转换的文本
返回:
- string: USC2 转义序列字符串
func B编码_文本到Unicode ¶
B编码_文本到Unicode 将文本转换为 \\uXXXX 格式的 Unicode 转义序列(所有字符)。
参数:
- 文本: 待转换的文本
返回:
- string: 所有字符的 Unicode 转义序列
func B编码_是否有UTF8BOM ¶
B编码_是否有UTF8BOM 检查字节集是否包含 UTF-8 BOM 头。
参数:
- 数据: 待检查的字节集
返回:
- bool: 包含 BOM 返回 true
func B编码_添加UTF8BOM ¶
B编码_添加UTF8BOM 为 UTF-8 字节集添加 BOM 头(EF BB BF)。 某些 Windows 程序需要 BOM 头来识别 UTF-8 编码。
参数:
- 数据: UTF-8 编码的字节集
返回:
- []byte: 带 BOM 头的 UTF-8 字节集
func B编码_移除UTF8BOM ¶
B编码_移除UTF8BOM 移除 UTF-8 字节集的 BOM 头。
参数:
- 数据: 可能包含 BOM 头的 UTF-8 字节集
返回:
- []byte: 移除 BOM 头后的字节集
func B表达式_求值 ¶
func B表达式_求值(表达式对象 *govaluate.EvaluableExpression) (interface{}, error)
B表达式_求值 对已编译的表达式对象进行求值(无参数)。
参数:
- 表达式对象: 通过 B表达式_编译 获得的表达式对象
返回:
- interface{}: 计算结果
- error: 计算错误时返回
func B表达式_求值带参数 ¶
func B表达式_求值带参数(表达式对象 *govaluate.EvaluableExpression, 参数 map[string]interface{}) (interface{}, error)
B表达式_求值带参数 对已编译的表达式对象进行求值(带参数)。
参数:
- 表达式对象: 通过 B表达式_编译 获得的表达式对象
- 参数: 变量名到值的映射
返回:
- interface{}: 计算结果
- error: 计算错误时返回
func B表达式_编译 ¶
func B表达式_编译(表达式 string) (*govaluate.EvaluableExpression, error)
B表达式_编译 预编译表达式,返回可重复使用的表达式对象。 适用于需要多次计算同一表达式的场景,避免重复解析。
参数:
- 表达式: 表达式字符串
返回:
- *govaluate.EvaluableExpression: 编译后的表达式对象
- error: 表达式语法错误时返回
func B表达式_编译并计算 ¶
B表达式_编译并计算 编译表达式后立即计算(无参数)。 如果需要多次计算同一表达式,建议使用 B表达式_编译 获取对象后重复使用。
参数:
- 表达式: 表达式字符串
返回:
- interface{}: 计算结果
- error: 编译或计算错误时返回
func B表达式_计算 ¶
B表达式_计算 计算一个数学或逻辑表达式字符串并返回结果。 支持基本四则运算、比较运算、逻辑运算和内置函数。 表达式示例: "1 + 2 * 3"、"10 > 5 && 3 < 7"、"pow(2, 10)"。
参数:
- 表达式: 表达式字符串
返回:
- interface{}: 计算结果,类型取决于表达式(int64/float64/bool 等)
- error: 表达式语法错误或计算错误时返回
func B表达式_计算带参数 ¶
B表达式_计算带参数 计算带参数的表达式。 参数以 map 形式传入,表达式中用变量名引用。 示例: 表达式 "a + b * c",参数 {"a": 1, "b": 2, "c": 3},结果为 7。
参数:
- 表达式: 包含变量的表达式字符串
- 参数: 变量名到值的映射,key 为变量名(string),value 为变量值
返回:
- interface{}: 计算结果
- error: 表达式语法错误、变量未定义或计算错误时返回
func CamelToSnake ¶
CamelToSnake converts camelCase naming to snake_case (lowercase).
Parameters:
- s: camelCase string to convert
Returns:
- string: snake_case string
Example:
CamelToSnake("helloWorld") // "hello_world"
CamelToSnake("XMLParser") // "xml_parser"
func ClearMap ¶
func ClearMap[K comparable, V any](m map[K]V)
ClearMap clears all items from a Map.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- m: Map to clear
Example:
m := map[string]int{"a": 1, "b": 2}
ClearMap(m)
// m = map[string]int{}
func CompareEqual ¶
func CompareEqual[T comparable](a, b T) bool
CompareEqual 检查两个值是否完全相等(包括类型和值)。
Type Parameters:
- T: 任意可比较类型
Parameters:
- a: 第一个值
- b: 第二个值
Returns:
- bool: 相等返回 true,否则返回 false
Example:
CompareEqual(1, 1) // true
CompareEqual("a", "a") // true
CompareEqual(1, "1") // false
func CompareValueEqual ¶
func CompareValueEqual(a, b interface{}) bool
CompareValueEqual 检查两个值的值是否相等(忽略类型差异)。 使用 reflect.DeepEqual 进行深度比较。
Parameters:
- a: 第一个值
- b: 第二个值
Returns:
- bool: 值相等返回 true,否则返回 false
Example:
CompareValueEqual([]int{1,2,3}, []int{1,2,3}) // true
CompareValueEqual(map[int]int{1:1}, map[int]int{1:1}) // true
func Contains ¶
func Contains[T comparable](slice []T, item T) bool
Contains checks if a slice contains a specified element.
Type Parameters:
- T: comparable type
Parameters:
- slice: slice to check
- item: item to search for
Returns:
- bool: true if contains, false otherwise
Example:
Contains([]int{1, 2, 3}, 2) // true
Contains([]int{1, 2, 3}, 4) // false
func ContainsKey ¶
func ContainsKey[K comparable, V any](m map[K]V, key K) bool
ContainsKey checks if a Map contains a specified key.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- m: Map to check
- key: key to search for
Returns:
- bool: true if contains, false otherwise
Example:
m := map[string]int{"a": 1, "b": 2}
ContainsKey(m, "a") // true
ContainsKey(m, "c") // false
func ContainsSubstring ¶
ContainsSubstring checks if a string contains a specified substring.
Parameters:
- s: source string
- substr: substring to search for
Returns:
- bool: true if contains, false otherwise
Example:
ContainsSubstring("hello world", "world") // true
ContainsSubstring("hello world", "xyz") // false
func CountCharacters ¶
CountCharacters counts the occurrences of each character in a string.
Parameters:
- s: string to count
Returns:
- map[rune]int: character count map
Example:
CountCharacters("hello") // map[h:1 e:1 l:2 o:1]
func CountWords ¶
CountWords counts the number of words in a string (separated by spaces).
Parameters:
- s: string to count
Returns:
- int: word count
Example:
CountWords("hello world") // 2
CountWords("one") // 1
func C爬虫_创建 ¶
C爬虫_创建 创建一个新的网页采集器。 基于 colly 库实现,支持回调式的网页爬取。 通过注册回调函数处理不同类型的 HTML 元素和事件。
返回:
- *colly.Collector: 采集器实例
func C爬虫_取元素属性 ¶
func C爬虫_取元素属性(元素 *colly.HTMLElement, 属性名 string) string
C爬虫_取元素属性 从 HTMLElement 中提取指定属性的值。
参数:
- 元素: HTML 元素对象
- 属性名: HTML 属性名,如 "href"、"src"、"class"
返回:
- string: 属性值;属性不存在时返回空串
func C爬虫_取元素文本 ¶
func C爬虫_取元素文本(元素 *colly.HTMLElement) string
C爬虫_取元素文本 从 HTMLElement 中提取文本内容。 是 colly.HTMLElement.Text 的便捷封装。
参数:
- 元素: HTML 元素对象
返回:
- string: 元素的文本内容
func C爬虫_注册HTML回调 ¶
func C爬虫_注册HTML回调(采集器 *colly.Collector, 选择器 string, 回调函数 func(e *colly.HTMLElement))
C爬虫_注册HTML回调 注册 HTML 元素选择器回调。 当采集器发现匹配 CSS 选择器的元素时,调用回调函数。 示例: C爬虫_注册HTML回调(c, "div.title", func(e *colly.HTMLElement) {...})
参数:
- 采集器: 采集器实例
- 选择器: CSS 选择器,如 "a[href]"、"div.content"
- 回调函数: 匹配元素时的回调,参数为 HTMLElement
func C爬虫_注册响应回调 ¶
C爬虫_注册响应回调 注册 HTTP 响应回调。 每次收到响应时调用,可用于检查状态码、记录日志等。
参数:
- 采集器: 采集器实例
- 回调函数: 响应回调,参数为 *colly.Response
func C爬虫_注册请求回调 ¶
C爬虫_注册请求回调 注册 HTTP 请求回调。 每次发送请求前调用,可用于修改请求头、添加认证等。
参数:
- 采集器: 采集器实例
- 回调函数: 请求回调,参数为 *colly.Request
func C爬虫_注册错误回调 ¶
C爬虫_注册错误回调 注册错误回调。 请求失败时调用,可用于错误处理和重试逻辑。
参数:
- 采集器: 采集器实例
- 回调函数: 错误回调,参数为 *colly.Response 和 error
func C爬虫_访问 ¶
C爬虫_访问 访问指定的 URL。 采集器会发送 HTTP 请求并触发已注册的回调函数。
参数:
- 采集器: 采集器实例
- 网址: 要访问的 URL
返回:
- error: 访问失败时返回错误
func C爬虫_限制并发 ¶
C爬虫_限制并发 设置采集器的并发限制和请求间隔。 防止请求过于频繁被目标网站封禁。
参数:
- 采集器: 采集器实例
- 域名: 限制规则适用的域名
- 并发数: 最大并发请求数
- 间隔毫秒: 同一域名两次请求之间的间隔(毫秒)
func C程序_写日志 ¶
C程序_写日志 将日志内容追加写入到指定路径的日志文件。 每条日志自动添加时间戳前缀(格式:2006-01-02 15:04:05)。 如果日志文件不存在,会自动创建。日志路径为空时默认写入程序同目录下的"运行日志.txt"。
参数:
- 日志内容: 要记录的日志文本
- 日志路径: 日志文件的完整路径,可为空(默认使用程序目录下的"运行日志.txt")
func C程序_删除自身 ¶
func C程序_删除自身() error
C程序_删除自身 删除当前运行的可执行文件。 注意:在 Windows 上,正在运行的程序文件被锁定,删除操作通常会失败。 此函数存在自身被占用的问题,建议仅在程序即将退出时调用。
返回:
- error: 成功返回 nil,失败返回错误信息
func C程序_取GUID ¶
func C程序_取GUID() string
C程序_取GUID 生成标准的 Version 4 UUID(随机 UUID)。 格式如:635897f8-2a48-4882-b3e1-823b8e5b6df8(小写十六进制)。 符合 RFC 4122 第 4.4 节规范。
返回:
- string: 8-4-4-4-12 格式的 UUID 字符串
func C程序_取cmd路径 ¶
func C程序_取cmd路径() string
C程序_取cmd路径 尝试获取系统 cmd.exe 的路径。 注意:当前实现使用 ReadLink 读取符号链接,可能在某些系统上失败。
返回:
- string: cmd.exe 的路径;失败时程序终止(log.Fatal)
func C程序_取临时目录 ¶
func C程序_取临时目录() string
C程序_取临时目录 获取操作系统的临时目录路径。 依次尝试 TEMP、TMP 环境变量,最后回退到 SYSTEMROOT\Temp。
返回:
- string: 临时目录的绝对路径
func C程序_取命令行 ¶
func C程序_取命令行() []string
C程序_取命令行 获取启动程序时的命令行参数。 返回 os.Args 的完整切片,args[0] 为程序路径,args[1:] 为附加参数。
返回:
- []string: 命令行参数数组
func C程序_取运行目录 ¶
func C程序_取运行目录() string
C程序_取运行目录 获取当前可执行文件所在的目录。 会解析符号链接,返回真实的目录路径。
返回:
- string: 可执行文件所在目录的绝对路径;失败时程序终止
func C程序_延时 ¶
C程序_延时 暂停当前 goroutine 指定的毫秒数。 使用 time.Sleep 实现,精度取决于操作系统调度器。
参数:
- 毫秒数: 延时的毫秒数
返回:
- bool: 始终返回 true
func C程序_延时2 ¶
C程序_延时2 逐毫秒循环延时,精度为 1ms。 相比 C程序_延时,此函数可被中断(如通过 channel), 但循环开销较大,一般场景推荐使用 C程序_延时。
参数:
- 毫秒: 延时的毫秒数
返回:
- bool: 始终返回 true
func C程序_是否被调试 ¶
func C程序_是否被调试() bool
C程序_是否被调试 检测当前程序是否正在被调试器附加。 注意:当前实现仅检查进程 ID 是否非零,实际无法可靠检测调试状态。 如需真正的反调试检测,需要使用平台特定 API。
返回:
- bool: 当前实现始终返回 true(pid != 0)
func C程序_禁止重复运行 ¶
func C程序_禁止重复运行() bool
C程序_禁止重复运行 通过环境变量防止程序重复运行。 如果环境变量 GO_NO_RERUN 已设置,则调用 os.Exit(0) 退出当前进程。
返回:
- bool: 如果环境变量已设置则退出程序;否则返回 false
func C程序_运行Win ¶
C程序_运行Win 通过 PowerShell 执行命令行指令,并返回输出结果。 输出内容会自动从 GBK 编码转换为 UTF-8。 注意:此函数会阻塞等待命令执行完毕。
参数:
- 欲运行的命令行: 要执行的 PowerShell 命令
返回:
- string: 命令执行后的输出文本(UTF-8 编码)
func C类型_到Duration ¶
func C类型_到Duration(值 interface{}) interface{}
C类型_到Duration 将任意类型的值转换为 time.Duration。 字符串 "5s" → 5秒,"1h30m" → 1小时30分钟。
参数:
- 值: 待转换的值
返回:
- time.Duration: 转换后的时间间隔
func C类型_到整数 ¶
func C类型_到整数(值 interface{}) int
C类型_到整数 将任意类型的值转换为 int。 字符串 "123" → 123,浮点数 3.14 → 3,布尔值 true → 1。
参数:
- 值: 待转换的值
返回:
- int: 转换后的整数
func C类型_到整数64 ¶
func C类型_到整数64(值 interface{}) int64
C类型_到整数64 将任意类型的值转换为 int64。
参数:
- 值: 待转换的值
返回:
- int64: 转换后的 int64 值
func C类型_到整数切片 ¶
func C类型_到整数切片(值 interface{}) []int
C类型_到整数切片 将任意类型的值转换为 []int。
参数:
- 值: 待转换的值
返回:
- []int: 整数切片
func C类型_到文本 ¶
func C类型_到文本(值 interface{}) string
C类型_到文本 将任意类型的值转换为字符串。 基于 cast.ToStringE 实现,支持基本类型及常见复合类型的转换。
参数:
- 值: 待转换的值
返回:
- string: 转换后的字符串
func C类型_到文本切片 ¶
func C类型_到文本切片(值 interface{}) []string
C类型_到文本切片 将任意类型的值转换为 []string。 支持逗号分隔的字符串 "a,b,c" → ["a","b","c"], 也支持 []interface{} → []string。
参数:
- 值: 待转换的值
返回:
- []string: 字符串切片
func C类型_到时间 ¶
func C类型_到时间(值 interface{}) interface{}
C类型_到时间 将任意类型的值转换为 time.Time。 支持常见的时间格式字符串,如 "2006-01-02 15:04:05"。
参数:
- 值: 待转换的值
返回:
- time.Time: 转换后的时间
func C类型_到浮点数 ¶
func C类型_到浮点数(值 interface{}) float64
C类型_到浮点数 将任意类型的值转换为 float64。
参数:
- 值: 待转换的值
返回:
- float64: 转换后的浮点数
func C类型_到逻辑型 ¶
func C类型_到逻辑型(值 interface{}) bool
C类型_到逻辑型 将任意类型的值转换为 bool。 字符串 "true"/"1" → true,"false"/"0" → false。
参数:
- 值: 待转换的值
返回:
- bool: 转换后的布尔值
func C类型_安全到整数 ¶
C类型_安全到整数 将任意类型的值转换为 int,转换失败时返回默认值。
参数:
- 值: 待转换的值
- 默认值: 转换失败时返回的默认整数
返回:
- int: 转换后的整数或默认值
func C类型_安全到文本 ¶
C类型_安全到文本 将任意类型的值转换为字符串,转换失败时返回默认值。
参数:
- 值: 待转换的值
- 默认值: 转换失败时返回的默认字符串
返回:
- string: 转换后的字符串或默认值
func C类型_安全到浮点数 ¶
C类型_安全到浮点数 将任意类型的值转换为 float64,转换失败时返回默认值。
参数:
- 值: 待转换的值
- 默认值: 转换失败时返回的默认浮点数
返回:
- float64: 转换后的浮点数或默认值
func C类型_安全到逻辑型 ¶
C类型_安全到逻辑型 将任意类型的值转换为 bool,转换失败时返回默认值。
参数:
- 值: 待转换的值
- 默认值: 转换失败时返回的默认布尔值
返回:
- bool: 转换后的布尔值或默认值
func C类型_进制转换 ¶
C类型_进制转换 将字符串按指定进制转换为 int64。 如 "ff" 按16进制 → 255,"1010" 按2进制 → 10。
参数:
- 文本: 待转换的字符串
- 进制: 进制(2/8/10/16)
返回:
- int64: 转换后的整数值
- error: 转换失败时返回错误
func Difference ¶
Difference calculates the difference set between two integer slices (elements in a but not in b).
Parameters:
- a: first slice
- b: second slice
Returns:
- []int: difference set result
Example:
a := []int{1, 2, 3, 4, 5}
b := []int{3, 4, 5, 6, 7}
Difference(a, b) // []int{1, 2}
func D到字节 ¶
func D到字节(value interface{}) byte
D到字节 将任意类型的值转换为单个字节(byte)。 如果值超出 byte 范围(0-255),会进行截断处理。
参数:
- value: 待转换的值
返回:
- byte: 转换后的字节值
func D到字节集 ¶
func D到字节集(value interface{}) []byte
D到字节集 将任意类型的值转换为字节切片([]byte)。 内部使用 gconv.Bytes 进行转换,支持字符串、整数、浮点数等基本类型。
参数:
- value: 待转换的值,支持 string/int/float/bool 等基本类型
返回:
- []byte: 转换后的字节切片
func D到数值 ¶
func D到数值(value interface{}) float64
D到数值 将任意类型的值转换为 float64 类型。 字符串 "3.14" → 3.14,整数 42 → 42.0。
参数:
- value: 待转换的值
返回:
- float64: 转换后的浮点数值
func D到整数 ¶
func D到整数(value interface{}) int
D到整数 将任意类型的值转换为 int 类型。 字符串 "123" → 123,浮点数 3.14 → 3,布尔值 true → 1。
参数:
- value: 待转换的值
返回:
- int: 转换后的整数值
func D到整数64 ¶
func D到整数64(value interface{}) int64
D到整数64 将任意类型的值转换为 int64 类型。 适用于需要大整数范围的场景。
参数:
- value: 待转换的值
返回:
- int64: 转换后的 64 位整数值
func D到文本 ¶
func D到文本(value interface{}) string
D到文本 将任意类型的值转换为字符串。 整数 123 → "123",浮点数 3.14 → "3.14",布尔值 true → "true"。
参数:
- value: 待转换的值
返回:
- string: 转换后的字符串
func D到文本数组 ¶
func D到文本数组(通用型变量 interface{}) []string
D到文本数组 将通用型变量(interface{})转换为字符串数组。 支持数组、切片类型的元素逐一转换;非数组类型作为单元素数组返回。 使用反射(reflect)实现类型判断和元素提取。
参数:
- 通用型变量: 待转换的值,支持 []string、[]int 等数组/切片类型
返回:
- []string: 转换后的字符串数组
func D到结构体 ¶
func D到结构体(待转换的参数 interface{}, 结构体指针 interface{}) error
D到结构体 将通用类型(如 Map、JSON 字符串)转换为指定的结构体。 内部使用 gconv.Struct,支持 map、JSON 字符串等作为输入源。 结构体字段可通过 tag(如 json/c/gconv)指定映射名称。
参数:
- 待转换的参数: 源数据,支持 map、JSON 字符串等
- 结构体指针: 目标结构体的指针,转换结果将写入该结构体
返回:
- error: 转换失败时返回错误信息
func D多项选择 ¶
D多项选择 泛型多项选择器,根据索引从数组中选取对应元素。 索引从 0 开始,越界时返回默认值。
类型参数:
- T: 任意类型
参数:
- index: 选择的索引位置(从 0 开始)
- arr: 候选值数组
- 默认值: 索引越界时返回的默认值
返回:
- T: 选中的值或默认值
示例:
D多项选择(1, []string{"a","b","c"}, "x") // "b"
D多项选择(5, []int{1,2,3}, 0) // 0(越界返回默认值)
func D定时_添加任务 ¶
D定时_添加任务 向调度器添加定时任务。 表达式格式(秒级):秒 分 时 日 月 周 例如 "*/5 * * * * *" 表示每5秒执行一次 "0 30 9 * * *" 表示每天9:30执行
参数:
- 调度器: cron 调度器实例
- 表达式: cron 表达式
- 任务: 要执行的函数
返回:
- cron.EntryID: 任务 ID,可用于后续移除
- error: 表达式无效时返回错误
func D定时_简单执行 ¶
D定时_简单执行 按指定 cron 表达式周期性执行任务。 创建调度器、添加任务、启动一条龙完成。
参数:
- 表达式: cron 表达式(秒级),如 "*/10 * * * * *"
- 任务: 要执行的函数
返回:
- *cron.Cron: 调度器实例,可用于后续停止
- error: 表达式无效时返回错误
func D数据库_事务 ¶
func D数据库_事务(引擎 *xorm.Engine, 事务函数 func(session *xorm.Session) (interface{}, error)) (interface{}, error)
D数据库_事务 执行数据库事务。 事务中的所有操作要么全部成功,要么全部回滚。
参数:
- 引擎: xorm 引擎实例
- 事务函数: 事务中执行的操作,接收 Session 对象
返回:
- interface{}: 事务返回值
- error: 事务失败时返回错误(自动回滚)
func D数据库_删除 ¶
D数据库_删除 删除记录。 传入结构体作为删除条件,非零值字段作为 WHERE 条件。
参数:
- 引擎: xorm 引擎实例
- 条件结构体: 作为删除条件的结构体
返回:
- int64: 影响的行数
- error: 删除失败时返回错误
func D数据库_取反射类型 ¶
D数据库_取反射类型 辅助函数:获取 interface{} 的 reflect.Type。 用于 xorm 的泛型查询接口。
func D数据库_取表名 ¶
D数据库_取表名 获取结构体对应的数据库表名。 需要结构体定义了 `xorm:"'table_name'"` 标签或遵循 xorm 命名规则。
参数:
- 引擎: xorm 引擎实例
- 结构体: 结构体实例
返回:
- string: 表名
func D数据库_同步表 ¶
D数据库_同步表 自动同步结构体到数据库表。 根据结构体定义创建或更新数据库表结构。 会自动创建不存在的表,添加不存在的列,但不会删除已有的列。
参数:
- 引擎: xorm 引擎实例
- 结构体: 要同步的结构体实例(可传入多个)
返回:
- error: 同步失败时返回错误
func D数据库_执行SQL ¶
D数据库_执行SQL 执行原生 SQL 语句。 适用于复杂的 SQL 操作,如批量更新、多表关联等。 参数以 sqlOrArgs 形式传入,第一个参数为 SQL 语句,后续为参数值。
参数:
- 引擎: xorm 引擎实例
- sql语句: SQL 语句
- 参数: SQL 中的参数值
返回:
- sql.Result: SQL 执行结果
- error: 执行失败时返回错误
func D数据库_插入 ¶
D数据库_插入 插入一条或多条记录到数据库。 传入结构体指针或结构体指针切片。
参数:
- 引擎: xorm 引擎实例
- 记录: 要插入的数据,结构体指针或切片
返回:
- int64: 影响的行数
- error: 插入失败时返回错误
func D数据库_更新 ¶
D数据库_更新 更新记录。 传入要更新的结构体指针,非零值字段会被更新。 建议配合 Where 条件使用,避免全表更新。
参数:
- 引擎: xorm 引擎实例
- 记录: 包含更新值的结构体指针
返回:
- int64: 影响的行数
- error: 更新失败时返回错误
func D数据库_条件更新 ¶
D数据库_条件更新 带条件的更新记录。
参数:
- 引擎: xorm 引擎实例
- 记录: 包含更新值的结构体指针
- 条件: WHERE 条件字符串
- 参数: 条件参数值
返回:
- int64: 影响的行数
- error: 更新失败时返回错误
func D数据库_条件查询 ¶
D数据库_条件查询 带条件查询记录。 使用 SQL 条件字符串和参数进行查询。
参数:
- 引擎: xorm 引擎实例
- 结果切片: 存放查询结果的切片指针
- 条件: SQL WHERE 条件,如 "age > ? AND name LIKE ?"
- 参数: 条件中的参数值
返回:
- error: 查询失败时返回错误
func D数据库_查询 ¶
D数据库_查询 查询记录并存入结构体切片。 传入结构体切片指针,查询结果会填充到切片中。
参数:
- 引擎: xorm 引擎实例
- 结果切片: 存放查询结果的切片指针,如 &[]User{}
返回:
- error: 查询失败时返回错误
func D数据库_查询单条 ¶
D数据库_查询单条 查询单条记录。 传入结构体指针,查询结果会填充到结构体中。 如果查询到多条记录,只返回第一条。
参数:
- 引擎: xorm 引擎实例
- 记录: 存放查询结果的结构体指针
返回:
- bool: true 表示查到记录,false 表示未查到
- error: 查询失败时返回错误
func D数据库_统计 ¶
D数据库_统计 获取满足条件的记录数。
参数:
- 引擎: xorm 引擎实例
- 条件结构体: 作为统计条件的结构体
返回:
- int64: 记录数
- error: 查询失败时返回错误
func D数据库_表是否存在 ¶
D数据库_表是否存在 检查数据库中是否存在指定表。
参数:
- 引擎: xorm 引擎实例
- 表名: 表名
返回:
- bool: true 表示表存在
- error: 查询失败时返回错误
func D数据库_设置连接池 ¶
D数据库_设置连接池 设置数据库连接池参数。 合理配置连接池可提高并发性能。
参数:
- 引擎: xorm 引擎实例
- 最大空闲数: 连接池最大空闲连接数
- 最大连接数: 连接池最大连接数,0 表示不限制
- 最大生存时间: 连接最大生存时间(秒),0 表示不限制
func D数据库_连接MySQL ¶
D数据库_连接MySQL 连接 MySQL 数据库并返回引擎实例。 使用 xorm 作为 ORM 引擎,支持结构体映射和链式查询。 驱动自动注册 github.com/go-sql-driver/mysql。
参数:
- 用户名: 数据库用户名
- 密码: 数据库密码
- 主机地址: 数据库地址,如 "127.0.0.1:3306"
- 数据库名: 要连接的数据库名称
返回:
- *xorm.Engine: xorm 引擎实例
- error: 连接失败时返回错误
func D数据库_连接SQLite ¶
D数据库_连接SQLite 连接 SQLite 数据库并返回引擎实例。 文件不存在时自动创建。
参数:
- 文件路径: SQLite 数据库文件路径
返回:
- *xorm.Engine: xorm 引擎实例
- error: 连接失败时返回错误
func E ¶
func E() float64
E returns the value of Euler's number (e).
Returns:
- float64: e ≈ 2.718281828459045
func ExponentialBackoffRetry ¶
func ExponentialBackoffRetry[T any](fn func() (T, error), maxRetries int, baseInterval, maxInterval time.Duration) (T, error)
ExponentialBackoffRetry implements retry with exponential backoff strategy.
Type Parameters:
- T: return value type
Parameters:
- fn: function to execute, returns value and error
- maxRetries: maximum number of retries
- baseInterval: base interval time
- maxInterval: maximum interval (prevents infinite growth)
Returns:
- T: return value on success
- error: last error if all retries fail
Example:
result, err := ExponentialBackoffRetry(func() (string, error) {
return "success", nil
}, 5, time.Second, time.Minute)
func ExtractKeys ¶
func ExtractKeys[K comparable, V any](maps ...map[K]V) map[K]struct{}
ExtractKeys extracts all unique keys from multiple Maps.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- maps: list of Maps to process
Returns:
- map[K]struct{}: set of keys (represented with empty struct)
Example:
m1 := map[string]int{"a": 1}
m2 := map[string]int{"b": 2}
ExtractKeys(m1, m2) // map[string]struct{}{"a": {}, "b": {}}
func ExtractValues ¶
func ExtractValues[K comparable, V comparable](maps ...map[K]V) map[V]struct{}
ExtractValues extracts all unique values from multiple Maps.
Type Parameters:
- K: key type
- V: value type (must be comparable)
Parameters:
- maps: list of Maps to process
Returns:
- map[V]struct{}: set of values
Example:
m1 := map[string]int{"a": 1}
m2 := map[string]int{"b": 2}
ExtractValues(m1, m2) // map[int]struct{}{1: {}, 2: {}}
func E邮件_发送 ¶
func E邮件_发送(服务器地址 string, 发件人邮箱 string, 密码 string, 收件人 string, 主题 string, 正文 string, HTML正文 string, 附件路径 []string) error
E邮件_发送 发送邮件,支持 HTML 正文和附件。 使用 SMTP 协议发送,支持 TLS 加密连接。
参数:
- 服务器地址: SMTP 服务器地址,如 "smtp.qq.com:587"
- 发件人邮箱: 发件人邮箱地址
- 密码: 发件人邮箱的授权码(非登录密码)
- 收件人: 收件人邮箱地址,多个用逗号分隔
- 主题: 邮件主题
- 正文: 邮件正文(纯文本)
- HTML正文: HTML 格式的邮件正文,为空时使用纯文本正文
- 附件路径: 附件文件路径列表,无附件传 nil
返回:
- error: 发送失败时返回错误
func E邮件_发送TLS ¶
func E邮件_发送TLS(服务器地址 string, 发件人邮箱 string, 密码 string, 收件人 string, 主题 string, 正文 string, HTML正文 string, 附件路径 []string) error
E邮件_发送TLS 使用 TLS 加密连接发送邮件。 适用于 465 端口的 SMTP 服务器。
参数:
- 服务器地址: SMTP 服务器地址,如 "smtp.qq.com:465"
- 发件人邮箱: 发件人邮箱地址
- 密码: 发件人邮箱的授权码
- 收件人: 收件人邮箱地址,多个用逗号分隔
- 主题: 邮件主题
- 正文: 邮件正文(纯文本)
- HTML正文: HTML 格式的邮件正文
- 附件路径: 附件文件路径列表
返回:
- error: 发送失败时返回错误
func E邮件_发送简单邮件 ¶
E邮件_发送简单邮件 发送一封简单的纯文本邮件,无附件。
参数:
- 服务器地址: SMTP 服务器地址,如 "smtp.qq.com:587"
- 发件人邮箱: 发件人邮箱地址
- 密码: 发件人邮箱的授权码
- 收件人: 收件人邮箱地址
- 主题: 邮件主题
- 正文: 邮件正文
返回:
- error: 发送失败时返回错误
func F_分割文本 ¶
F_分割文本 按指定分隔符将文本分割为字符串数组。 等同于 strings.Split。
参数:
- 原文本: 待分割的文本
- 分割符: 用作分割的分隔符
返回:
- []string: 分割后的字符串数组
func F_删首尾空 ¶
F_删首尾空 去除文本首尾的空白字符(空格、制表符、换行等)。 等同于 strings.TrimSpace。
参数:
- text: 源文本
返回:
- string: 去除首尾空白后的文本
func F_加入成员 ¶
F_加入成员 向字符串数组追加一个成员,返回新数组。 等同于 append(数组, 成员)。
参数:
- 数组: 原字符串数组
- 成员: 要追加的字符串
返回:
- []string: 追加后的新数组
func F_取文本右边 ¶
F_取文本右边 取文本右侧指定字节数的子串。 注意:按字节截取,中文可能被截断。中文安全截取请用 W文本_取右边。
参数:
- text: 源文本
- n: 截取的字节数
返回:
- string: 右侧 n 个字节的文本;n 超过长度时返回原文本
func F_取文本左边 ¶
F_取文本左边 取文本左侧指定字节数的子串。 注意:按字节截取,中文可能被截断。中文安全截取请用 W文本_取左边。
参数:
- text: 源文本
- n: 截取的字节数
返回:
- string: 左侧 n 个字节的文本;n 超过长度时返回原文本
func F_取文本长度 ¶
F_取文本长度 获取文本的字节长度。 注意:中文在 UTF-8 编码下占 3 个字节。如需字符数请用 W文本_取长度。
参数:
- text: 源文本
返回:
- int: 字节长度
func F_取随机数 ¶
F_取随机数 生成指定范围内的随机整数,包含边界值 [min, max]。
参数:
- min: 最小值(包含)
- max: 最大值(包含)
返回:
- int: [min, max] 范围内的随机整数
func F_选择 ¶
func F_选择(逻辑 bool, 真返回参数, 假返回参数 interface{}) interface{}
F_选择 三元选择器(非泛型版),根据逻辑值返回两个参数中的一个。 推荐使用泛型版 S三元 替代,类型更安全。
参数:
- 逻辑: 条件值,true 返回真返回参数,false 返回假返回参数
- 真返回参数: 条件为真时返回的值
- 假返回参数: 条件为假时返回的值
返回:
- interface{}: 选中的值
func Factorial ¶
Factorial calculates the factorial of a given integer.
Parameters:
- n: integer to calculate factorial (non-negative)
Returns:
- int64: n!; 0 if n < 0
Example:
Factorial(5) // 120
func Fibonacci ¶
Fibonacci calculates the nth Fibonacci number.
Parameters:
- n: position in Fibonacci sequence (starting from 0)
Returns:
- int64: nth Fibonacci number
Example:
Fibonacci(0) // 0 Fibonacci(1) // 1 Fibonacci(10) // 55
func Filter ¶
Filter filters slice elements based on condition function.
Type Parameters:
- T: any type
Parameters:
- slice: slice to filter
- condition: filter condition function, returns true to keep element
Returns:
- []T: filtered slice
Example:
nums := []int{1, 2, 3, 4, 5, 6}
Filter(nums, func(n int) bool { return n%2 == 0 })
// []int{2, 4, 6}
func FilterMap ¶
func FilterMap[K comparable, V any](m map[K]V, condition func(K, V) bool) map[K]V
FilterMap filters Map key-value pairs based on condition function.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- m: Map to filter
- condition: filter condition function, returns true to keep key-value pair
Returns:
- map[K]V: filtered Map
Example:
m := map[string]int{"a": 1, "b": 2, "c": 3}
FilterMap(m, func(k string, v int) bool { return v > 1 })
// map[string]int{"b": 2, "c": 3}
func FirstLetterToUpper ¶
FirstLetterToUpper converts the first letter of a string to uppercase.
Parameters:
- s: string to process
Returns:
- string: string with first letter uppercase
Example:
FirstLetterToUpper("hello") // "Hello"
func Float64乘Float64 ¶
Float64乘Float64 将两个 float64 相乘,使用 decimal 库防止精度丢失。
参数:
- 值1: 第一个浮点乘数
- 值2: 第二个浮点乘数
返回:
- float64: 乘积结果
func Float64乘int64 ¶
Float64乘int64 将 float64 与 int64 相乘,使用 decimal 库防止精度丢失。
参数:
- 值1: 浮点乘数
- 值2: 整数乘数
返回:
- float64: 乘积结果
func Float64从文本 ¶
Float64从文本 将字符串转换为 float64,并按指定小数位四舍五入。 使用 decimal 库确保精度,转换失败返回 0。
参数:
- 值: 待转换的字符串
- 保留小数点多少位: 小数点后保留的位数
返回:
- float64: 转换后的浮点数;解析失败返回 0
func Float64减float64 ¶
Float64减float64 两个 float64 相减,使用 decimal 库防止精度丢失。 结果按指定保留长度进行四舍五入。
参数:
- 值1: 被减数
- 值2: 减数
- 保留长度: 小数点后保留的位数
返回:
- float64: 减法结果(四舍五入到指定小数位)
func Float64到文本 ¶
Float64到文本 将 float64 转换为指定小数位数的字符串。 使用 strconv.FormatFloat 进行格式化。
参数:
- 值: 待转换的浮点数
- 保留小数点多少位: 小数点后保留的位数
返回:
- string: 格式化后的浮点数字符串
示例:
Float64到文本(3.14159, 2) // "3.14"
func Float64加float64 ¶
Float64加float64 两个 float64 相加,使用 decimal 库防止精度丢失。 结果按指定保留长度进行四舍五入。
参数:
- 值1: 第一个加数
- 值2: 第二个加数
- 保留长度: 小数点后保留的位数
返回:
- float64: 加法结果(四舍五入到指定小数位)
func Float64取绝对值 ¶
Float64取绝对值 返回浮点数的绝对值,使用 decimal 库防止精度丢失。 负数乘以 -1 转为正数,正数和零直接返回。
参数:
- 值: 输入的浮点数
返回:
- float64: 绝对值
func Float64取负值 ¶
Float64取负值 返回浮点数的负值,使用 decimal 库防止精度丢失。 正数取反为负数,零和负数原样返回。
参数:
- 值: 输入的浮点数
返回:
- float64: 负值结果
func Float64除float64 ¶
Float64除float64 将两个 float64 相除,使用 decimal 库防止精度丢失。 结果按指定保留长度进行四舍五入。
参数:
- 值1: 被除数
- 值2: 除数
- 保留长度: 小数点后保留的位数
返回:
- float64: 除法结果(四舍五入到指定小数位)
func Float64除int64 ¶
Float64除int64 将 float64 除以 int64,使用 decimal 库防止精度丢失。 结果按指定保留长度进行四舍五入。
参数:
- 值1: 被除数
- 值2: 除数
- 保留长度: 小数点后保留的位数
返回:
- float64: 除法结果(四舍五入到指定小数位)
func FloatApproxEqual ¶
FloatApproxEqual 检查两个浮点数是否在指定误差范围内相等。
Parameters:
- a: 第一个浮点数
- b: 第二个浮点数
- delta: 允许的误差范围
Returns:
- bool: 在误差范围内相等返回 true
Example:
FloatApproxEqual(3.14159, 3.14160, 0.0001) // true FloatApproxEqual(3.14159, 3.14160, 0.00001) // false
func F文件监控_创建 ¶
F文件监控_创建 创建一个新的文件系统监控器。 基于 fsnotify 库实现,可监控文件和目录的创建、修改、删除、重命名事件。 创建后需调用 F文件监控_添加目录 或 F文件监控_添加文件 添加监控目标, 再调用 F文件监控_开始 启动事件监听。
返回:
- *fsnotify.Watcher: 监控器对象指针
- error: 创建失败时返回错误
func F文件监控_取事件通道 ¶
F文件监控_取事件通道 获取监控器的事件通道。 通过此通道接收文件系统变化事件,用于自定义事件处理逻辑。
参数:
- 监控器: 监控器对象指针
返回:
- <-chan fsnotify.Event: 只读事件通道
func F文件监控_取错误通道 ¶
F文件监控_取错误通道 获取监控器的错误通道。 通过此通道接收监控过程中发生的错误。
参数:
- 监控器: 监控器对象指针
返回:
- <-chan error: 只读错误通道
func F文件监控_开始 ¶
F文件监控_开始 开始监听文件系统事件。 阻塞式监听,当文件发生变化时调用回调函数。 回调函数接收事件对象,包含事件类型和文件路径。 常见事件类型: Create(创建), Write(修改), Remove(删除), Rename(重命名), Chmod(权限变更)。
参数:
- 监控器: 监控器对象指针
- 回调函数: 事件回调,参数为 fsnotify.Event
func F文件监控_添加目录 ¶
F文件监控_添加目录 添加一个目录到监控列表。 监控目录下的所有文件和子目录的变化。
参数:
- 监控器: 监控器对象指针
- 目录路径: 要监控的目录路径
返回:
- error: 添加失败时返回错误
func F文件监控_监控目录变化 ¶
F文件监控_监控目录变化 便捷函数:监控指定目录的文件变化。 自动创建监控器、添加目录,并在检测到变化时调用回调。 返回停止函数,调用即可停止监控。
参数:
- 目录路径: 要监控的目录路径
- 回调函数: 文件变化时的回调函数
返回:
- func(): 停止监控的函数
- error: 创建监控器或添加目录失败时返回错误
func GenericDeduplicate ¶
func GenericDeduplicate[T comparable](slice []T) []T
GenericDeduplicate generic version of deduplication function for any comparable type.
Type Parameters:
- T: comparable type
Parameters:
- slice: slice to deduplicate
Returns:
- []T: deduplicated slice
Example:
strings := []string{"a", "b", "a", "c"}
GenericDeduplicate(strings) // []string{"a", "b", "c"}
func GenericReverse ¶
func GenericReverse[T any](slice []T)
GenericReverse generic version of array reverse function.
Type Parameters:
- T: any type
Parameters:
- slice: slice to reverse
Example:
strings := []string{"a", "b", "c"}
GenericReverse(strings)
// strings = []string{"c", "b", "a"}
func GenericSort ¶
GenericSort generic sort function with custom comparison rule.
Type Parameters:
- T: any type
Parameters:
- slice: slice to sort
- less: comparison function, returns true if a should come before b
Example:
type Person struct {
Name string
Age int
}
people := []Person{{"Alice", 30}, {"Bob", 25}}
GenericSort(people, func(a, b Person) bool { return a.Age < b.Age })
func GetKeys ¶
func GetKeys[K comparable, V any](m map[K]V) []K
GetKeys retrieves all keys from a Map.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- m: Map to operate on
Returns:
- []K: slice of all keys
Example:
m := map[string]int{"a": 1, "b": 2}
GetKeys(m) // []string{"a", "b"}
func GetValues ¶
func GetValues[K comparable, V any](m map[K]V) []V
GetValues retrieves all values from a Map.
Type Parameters:
- K: key type
- V: value type
Parameters:
- m: Map to operate on
Returns:
- []V: slice of all values
Example:
m := map[string]int{"a": 1, "b": 2}
GetValues(m) // []int{1, 2}
func GreaterOrEqual ¶
func GreaterOrEqual[T constraints.Ordered](left, right T) bool
GreaterOrEqual 检查 left 是否大于或等于 right。
Type Parameters:
- T: 支持比较运算的类型 (numeric types)
Parameters:
- left: 左值
- right: 右值
Returns:
- bool: left >= right 返回 true
Example:
GreaterOrEqual(3, 2) // true GreaterOrEqual(2, 2) // true GreaterOrEqual(1, 2) // false
func GreaterThan ¶
func GreaterThan[T constraints.Ordered](left, right T) bool
GreaterThan 检查 left 是否大于 right。
Type Parameters:
- T: 支持比较运算的类型 (numeric types)
Parameters:
- left: 左值
- right: 右值
Returns:
- bool: left > right 返回 true
Example:
GreaterThan(3, 2) // true GreaterThan(2, 2) // false
func G协程池_创建 ¶
G协程池_创建 创建指定大小的 goroutine 池。 池满时新提交的任务会阻塞等待空闲 worker。
参数:
- 池大小: worker 数量上限
返回:
- *ants.Pool: 协程池实例
- error: 创建失败时返回错误
func G协程池_创建带选项 ¶
G协程池_创建带选项 创建带自定义选项的 goroutine 池。
参数:
- 池大小: worker 数量上限
- 选项: ants.Option 列表,如 ants.WithPreAlloc(true)
返回:
- *ants.Pool: 协程池实例
- error: 创建失败时返回错误
func G协程池_提交任务 ¶
G协程池_提交任务 向协程池提交一个任务。 如果池已满,会阻塞等待有空闲 worker。
参数:
- 池: 协程池实例
- 任务: 要执行的函数
返回:
- error: 提交失败时返回错误(如池已关闭)
func G协程池_预分配 ¶
G协程池_预分配 创建预分配 worker 的协程池。 预分配模式下,worker 在创建池时即初始化,减少首次任务延迟。
参数:
- 池大小: worker 数量上限
返回:
- *ants.Pool: 协程池实例
- error: 创建失败时返回错误
func G格式化_JSON ¶
G格式化_JSON 将 JSON 字符串进行缩进格式化,便于阅读。 使用 4 空格缩进,如果格式化失败则返回原始字符串。
参数:
- data: 待格式化的 JSON 字符串
返回:
- string: 格式化后的 JSON 文本;失败时返回原字符串
func G格式化文本 ¶
G格式化文本 使用格式化字符串生成文本,等同于 fmt.Sprintf。 支持所有 fmt 包的格式化动词(%d、%s、%v 等)。
参数:
- str: 格式化字符串模板
- 参数: 格式化参数,可变数量
返回:
- string: 格式化后的文本
示例:
G格式化文本("姓名:%s,年龄:%d", "张三", 25) // "姓名:张三,年龄:25"
func HHook_卸载Hook ¶
func HHook_启用Hook ¶
func HHook_启用全部Hook ¶
func HHook_启用全部Hook() error
func HHook_安装ApiHook ¶
HHook_安装ApiHook 通过模块名和函数名为指定 API 安装钩子。
参数:
- 模块名: DLL 模块名称,如 "kernel32.dll"
- 函数名: 导出函数名称,如 "MessageBoxW"
- 回调地址: 回调函数的地址(uintptr)
返回:
- uintptr: 原始函数地址(trampoline),用于调用原始函数
- error: 错误信息
func HHook_安装ApiHookEx ¶
HHook_安装ApiHookEx 通过模块名和函数名为指定 API 安装钩子(扩展版)。
参数:
- 模块名: DLL 模块名称
- 函数名: 导出函数名称
- 回调地址: 回调函数的地址(uintptr)
返回:
- uintptr: 原始函数地址(trampoline)
- uintptr: 目标函数地址
- error: 错误信息
func HHook_安装Hook ¶
HHook_安装Hook 为目标函数安装钩子,在禁用状态下创建。
参数:
- 目标地址: 目标函数的地址(uintptr)
- 回调地址: 回调函数的地址(uintptr),目标函数被调用时将跳转到此地址
返回:
- uintptr: 原始函数地址(trampoline),用于调用原始函数
- error: 错误信息
func HHook_应用排队 ¶
func HHook_应用排队() error
func HHook_排队启用Hook ¶
func HHook_排队禁用Hook ¶
func HHook_禁用Hook ¶
func HHook_禁用全部Hook ¶
func HHook_禁用全部Hook() error
func HasPrefix ¶
HasPrefix checks if a string starts with a specified prefix.
Parameters:
- s: source string
- prefix: prefix to check
Returns:
- bool: true if starts with prefix, false otherwise
Example:
HasPrefix("hello.txt", ".txt") // false
HasPrefix("hello.txt", "hello") // true
func HasSuffix ¶
HasSuffix checks if a string ends with a specified suffix.
Parameters:
- s: source string
- suffix: suffix to check
Returns:
- bool: true if ends with suffix, false otherwise
Example:
HasSuffix("hello.txt", ".txt") // true
HasSuffix("hello.txt", "hello") // false
func H客户端_Delete ¶
H客户端_Delete 发送 HTTP DELETE 请求。
参数:
- 网址: 请求的 URL 地址
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_Get ¶
H客户端_Get 发送 HTTP GET 请求。
参数:
- 网址: 请求的 URL 地址
返回:
- *resty.Response: 响应对象,包含状态码、响应体等信息
- error: 请求失败时返回错误
func H客户端_Post ¶
H客户端_Post 发送 HTTP POST 请求(JSON 格式)。 自动将数据序列化为 JSON 并设置 Content-Type 头。
参数:
- 网址: 请求的 URL 地址
- 数据: 要发送的数据,会自动序列化为 JSON
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_Put ¶
H客户端_Put 发送 HTTP PUT 请求(JSON 格式)。
参数:
- 网址: 请求的 URL 地址
- 数据: 要发送的数据
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_创建 ¶
H客户端_创建 创建一个新的 HTTP 客户端实例。 基于 resty 库实现,提供链式调用风格的 HTTP 请求 API。 支持 JSON/XML 自动序列化、请求重试、代理等高级功能。
返回:
- *resty.Request: 可链式调用的请求对象
func H客户端_带参数发送 ¶
H客户端_带参数发送 带查询参数发送 GET 请求。
参数:
- 网址: 请求的 URL 地址
- 参数: URL 查询参数键值对
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_带请求头发送 ¶
H客户端_带请求头发送 带自定义请求头发送 GET 请求。
参数:
- 网址: 请求的 URL 地址
- 请求头: HTTP 请求头键值对
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_表单提交 ¶
H客户端_表单提交 以表单形式提交 POST 请求(application/x-www-form-urlencoded)。
参数:
- 网址: 请求的 URL 地址
- 表单数据: 表单字段键值对
返回:
- *resty.Response: 响应对象
- error: 请求失败时返回错误
func H客户端_设置代理 ¶
H客户端_设置代理 创建带代理设置的 HTTP 客户端。
参数:
- 代理地址: 代理服务器地址,如 "http://127.0.0.1:7890"
返回:
- *resty.Client: 配置好代理的客户端实例
func H客户端_设置超时 ¶
H客户端_设置超时 创建带超时设置的 HTTP 客户端。 超时后请求会自动取消并返回错误。
参数:
- 超时秒数: 请求超时时间(秒)
返回:
- *resty.Client: 配置好超时的客户端实例
func H汇编_ADD_EAX ¶
func H汇编_ADD_EAX(v int32)
func H汇编_ADD_EAX_DWORD_PTR ¶
func H汇编_ADD_EAX_DWORD_PTR(addr int32)
func H汇编_ADD_EAX_EDX ¶
func H汇编_ADD_EAX_EDX()
func H汇编_ADD_EBP_DWORD_PTR ¶
func H汇编_ADD_EBP_DWORD_PTR(addr int32)
func H汇编_ADD_EBX ¶
func H汇编_ADD_EBX(v int32)
func H汇编_ADD_EBX_DWORD_PTR ¶
func H汇编_ADD_EBX_DWORD_PTR(addr int32)
func H汇编_ADD_EBX_EAX ¶
func H汇编_ADD_EBX_EAX()
func H汇编_ADD_ECX ¶
func H汇编_ADD_ECX(v int32)
func H汇编_ADD_EDX ¶
func H汇编_ADD_EDX(v int32)
func H汇编_ADD_ESI ¶
func H汇编_ADD_ESI(v int32)
func H汇编_ADD_ESP ¶
func H汇编_ADD_ESP(v int32)
func H汇编_CALL_DWORD_PTR ¶
func H汇编_CALL_DWORD_PTR(addr int32)
func H汇编_CALL_DWORD_PTR_EAX ¶
func H汇编_CALL_DWORD_PTR_EAX()
func H汇编_CALL_DWORD_PTR_EBX ¶
func H汇编_CALL_DWORD_PTR_EBX()
func H汇编_CALL_EAX ¶
func H汇编_CALL_EAX()
func H汇编_CALL_EBP ¶
func H汇编_CALL_EBP()
func H汇编_CALL_EBX ¶
func H汇编_CALL_EBX()
func H汇编_CALL_ECX ¶
func H汇编_CALL_ECX()
func H汇编_CALL_EDI ¶
func H汇编_CALL_EDI()
func H汇编_CALL_EDX ¶
func H汇编_CALL_EDX()
func H汇编_CALL_ESI ¶
func H汇编_CALL_ESI()
func H汇编_CALL_ESP ¶
func H汇编_CALL_ESP()
func H汇编_CMP_DWORD_PTR_EAX ¶
func H汇编_CMP_DWORD_PTR_EAX(addr int32)
func H汇编_CMP_EAX ¶
func H汇编_CMP_EAX(v int32)
func H汇编_CMP_EAX_DWORD_PTR ¶
func H汇编_CMP_EAX_DWORD_PTR(addr int32)
func H汇编_CMP_EAX_EDX ¶
func H汇编_CMP_EAX_EDX()
func H汇编_DEC_EAX ¶
func H汇编_DEC_EAX()
func H汇编_DEC_EBX ¶
func H汇编_DEC_EBX()
func H汇编_DEC_ECX ¶
func H汇编_DEC_ECX()
func H汇编_DEC_EDX ¶
func H汇编_DEC_EDX()
func H汇编_IDIV_EAX ¶
func H汇编_IDIV_EAX()
func H汇编_IDIV_EBX ¶
func H汇编_IDIV_EBX()
func H汇编_IDIV_ECX ¶
func H汇编_IDIV_ECX()
func H汇编_IDIV_EDX ¶
func H汇编_IDIV_EDX()
func H汇编_IMULB_EAX ¶
func H汇编_IMULB_EAX(v int32)
func H汇编_IMUL_EAX ¶
func H汇编_IMUL_EAX(v int8)
func H汇编_IMUL_EAX_EDX ¶
func H汇编_IMUL_EAX_EDX()
func H汇编_INC_DWORD_PTR_EAX ¶
func H汇编_INC_DWORD_PTR_EAX()
func H汇编_INC_DWORD_PTR_EBX ¶
func H汇编_INC_DWORD_PTR_EBX()
func H汇编_INC_DWORD_PTR_ECX ¶
func H汇编_INC_DWORD_PTR_ECX()
func H汇编_INC_DWORD_PTR_EDX ¶
func H汇编_INC_DWORD_PTR_EDX()
func H汇编_INC_EAX ¶
func H汇编_INC_EAX()
func H汇编_INC_EBX ¶
func H汇编_INC_EBX()
func H汇编_INC_ECX ¶
func H汇编_INC_ECX()
func H汇编_INC_EDI ¶
func H汇编_INC_EDI()
func H汇编_INC_EDX ¶
func H汇编_INC_EDX()
func H汇编_INC_ESI ¶
func H汇编_INC_ESI()
func H汇编_IN_AL_DX ¶
func H汇编_IN_AL_DX()
func H汇编_JMP_EAX ¶
func H汇编_JMP_EAX()
func H汇编_MOV_DWORD_PTR_EAX ¶
func H汇编_MOV_DWORD_PTR_EAX(addr int32)
func H汇编_MOV_EAX ¶
func H汇编_MOV_EAX(v int32)
func H汇编_MOV_EAX_DWORD_PTR ¶
func H汇编_MOV_EAX_DWORD_PTR(addr int32)
func H汇编_MOV_EAX_DWORD_PTR_EAX ¶
func H汇编_MOV_EAX_DWORD_PTR_EAX()
func H汇编_MOV_EAX_DWORD_PTR_EAX_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_EAX_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_EBP ¶
func H汇编_MOV_EAX_DWORD_PTR_EBP()
func H汇编_MOV_EAX_DWORD_PTR_EBP_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_EBP_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_EBX ¶
func H汇编_MOV_EAX_DWORD_PTR_EBX()
func H汇编_MOV_EAX_DWORD_PTR_EBX_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_EBX_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_ECX ¶
func H汇编_MOV_EAX_DWORD_PTR_ECX()
func H汇编_MOV_EAX_DWORD_PTR_ECX_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_ECX_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_EDI ¶
func H汇编_MOV_EAX_DWORD_PTR_EDI()
func H汇编_MOV_EAX_DWORD_PTR_EDI_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_EDI_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_EDX ¶
func H汇编_MOV_EAX_DWORD_PTR_EDX()
func H汇编_MOV_EAX_DWORD_PTR_EDX_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_EDX_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_ESI ¶
func H汇编_MOV_EAX_DWORD_PTR_ESI()
func H汇编_MOV_EAX_DWORD_PTR_ESI_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_ESI_ADD(disp int32)
func H汇编_MOV_EAX_DWORD_PTR_ESP ¶
func H汇编_MOV_EAX_DWORD_PTR_ESP()
func H汇编_MOV_EAX_DWORD_PTR_ESP_ADD ¶
func H汇编_MOV_EAX_DWORD_PTR_ESP_ADD(disp int32)
func H汇编_MOV_EBP ¶
func H汇编_MOV_EBP(v int32)
func H汇编_MOV_EBP_DWORD_PTR ¶
func H汇编_MOV_EBP_DWORD_PTR(addr int32)
func H汇编_MOV_EBX ¶
func H汇编_MOV_EBX(v int32)
func H汇编_MOV_EBX_DWORD_PTR ¶
func H汇编_MOV_EBX_DWORD_PTR(addr int32)
func H汇编_MOV_EBX_DWORD_PTR_EAX_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_EAX_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_EBP_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_EBP_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_EBX_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_EBX_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_ECX_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_ECX_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_EDI_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_EDI_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_EDX_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_EDX_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_ESI_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_ESI_ADD(disp int32)
func H汇编_MOV_EBX_DWORD_PTR_ESP_ADD ¶
func H汇编_MOV_EBX_DWORD_PTR_ESP_ADD(disp int32)
func H汇编_MOV_ECX ¶
func H汇编_MOV_ECX(v int32)
func H汇编_MOV_ECX_DWORD_PTR ¶
func H汇编_MOV_ECX_DWORD_PTR(addr int32)
func H汇编_MOV_ECX_DWORD_PTR_EAX_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_EAX_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_EBP_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_EBP_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_EBX_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_EBX_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_ECX_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_ECX_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_EDI_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_EDI_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_EDX_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_EDX_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_ESI_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_ESI_ADD(disp int32)
func H汇编_MOV_ECX_DWORD_PTR_ESP_ADD ¶
func H汇编_MOV_ECX_DWORD_PTR_ESP_ADD(disp int32)
func H汇编_MOV_EDI ¶
func H汇编_MOV_EDI(v int32)
func H汇编_MOV_EDI_DWORD_PTR ¶
func H汇编_MOV_EDI_DWORD_PTR(addr int32)
func H汇编_MOV_EDX ¶
func H汇编_MOV_EDX(v int32)
func H汇编_MOV_EDX_DWORD_PTR ¶
func H汇编_MOV_EDX_DWORD_PTR(addr int32)
func H汇编_MOV_EDX_DWORD_PTR_EAX_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_EAX_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_EBP_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_EBP_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_EBX_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_EBX_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_ECX_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_ECX_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_EDI_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_EDI_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_EDX_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_EDX_ADD(disp int32)
func H汇编_MOV_EDX_DWORD_PTR_ESI_ADD ¶
func H汇编_MOV_EDX_DWORD_PTR_ESI_ADD(disp int32)
func H汇编_MOV_ESI ¶
func H汇编_MOV_ESI(v int32)
func H汇编_MOV_ESI_DWORD_PTR ¶
func H汇编_MOV_ESI_DWORD_PTR(addr int32)
func H汇编_MOV_ESI_DWORD_PTR_EAX_ADD ¶
func H汇编_MOV_ESI_DWORD_PTR_EAX_ADD(disp int32)
func H汇编_MOV_ESP ¶
func H汇编_MOV_ESP(v int32)
func H汇编_MOV_ESP_DWORD_PTR ¶
func H汇编_MOV_ESP_DWORD_PTR(addr int32)
func H汇编_PUSHAD ¶
func H汇编_PUSHAD()
func H汇编_TEST_EAX_EAX ¶
func H汇编_TEST_EAX_EAX()
func H汇编_运行汇编代码 ¶
H汇编_运行汇编代码 在当前进程中执行已构建的机器码。 使用 VirtualAlloc 分配可执行内存,执行后自动释放。 返回执行结果(EAX 寄存器值)。
func H汇编_远程执行汇编代码 ¶
H汇编_远程执行汇编代码 在指定进程中远程执行已构建的机器码。 使用 VirtualAllocEx + WriteProcessMemory + CreateRemoteThread。
func IP_10进制转IP ¶
IP_10进制转IP 将 10 进制整数转换为点分十进制 IP 地址。 整数按大端序拆分为 4 个字节,每个字节对应 IP 的一段。
参数:
- decimal: 10 进制表示的 IP 地址整数
返回:
- string: 点分十进制格式的 IP 地址
示例:
IP_10进制转IP(3232235777) // "192.168.1.1"
func IP_IP转10进制 ¶
IP_IP转10进制 将点分十进制 IPv4 地址转换为 10 进制整数。
参数:
- ip: 点分十进制格式的 IPv4 地址,如 "192.168.1.1"
返回:
- int: 10 进制表示的 IP 地址整数;格式无效返回 0
示例:
IP_IP转10进制("192.168.1.1") // 3232235777
func IP_Ping测试 ¶
IP_Ping测试 测试与指定主机的 TCP 连通性(非 ICMP ping)。 尝试在指定超时时间内建立 TCP 连接到目标主机的指定端口。
参数:
- 主机: 目标主机地址(IP 或域名)
- 端口: 目标端口号
- 超时毫秒: 连接超时时间(毫秒)
返回:
- bool: 连接成功返回 true,否则返回 false
func IP_取MAC地址 ¶
IP_取MAC地址 获取本机所有网络接口的 MAC 地址。
返回:
- map[string]string: 键为接口名,值为 MAC 地址(小写冒号分隔);获取失败返回空 map
func IP_取内网IP ¶
func IP_取内网IP() []string
IP_取内网IP 获取本机所有内网(局域网)IPv4 地址。 遍历所有网络接口,过滤回环地址和 IPv6 地址,返回可用的内网 IP 列表。
返回:
- []string: 内网 IPv4 地址列表;无可用地址时返回空切片
func IP_取外网IP ¶
func IP_取外网IP() string
IP_取外网IP 通过公共 IP 查询服务获取本机的外网(公网)IPv4 地址。 依次尝试多个查询服务,任一成功即返回。
返回:
- string: 外网 IPv4 地址;获取失败返回空字符串
func IP_取外网IP详细信息 ¶
func IP_取外网IP详细信息() string
IP_取外网IP详细信息 通过 ip-api.com 获取外网 IP 的详细信息,包括地理位置、ISP 等。 返回 JSON 格式的信息字符串。
返回:
- string: JSON 格式的 IP 详细信息;获取失败返回空字符串
func IP_取首选内网IP ¶
func IP_取首选内网IP() string
IP_取首选内网IP 获取本机首选内网 IPv4 地址。 优先返回非 "169.254.x.x"(链路本地)的地址,通常为实际局域网地址。
返回:
- string: 首选内网 IPv4 地址;无可用地址返回空字符串
func IP_是否内网IP ¶
IP_是否内网IP 判断指定的 IPv4 地址是否为内网(私有)地址。 内网地址范围:10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16。
参数:
- ip: 点分十进制格式的 IPv4 地址
返回:
- bool: 是内网地址返回 true,否则返回 false
func IP_是否有效IP ¶
IP_是否有效IP 判断指定字符串是否为有效的 IPv4 或 IPv6 地址。
参数:
- ip: 待验证的 IP 地址字符串
返回:
- bool: 有效返回 true,否则返回 false
func Int32ToBytes ¶
Int32ToBytes 将 int32 整数转换为 4 字节的大端序字节集。 使用 binary.BigEndian 编码。
参数:
- i: 待转换的 int32 值
返回:
- []byte: 4 字节大端序字节集;转换失败返回空字节集
func Int64到Float64 ¶
Int64到Float64 将 int64 转换为 float64,使用 decimal 库防止精度丢失。 结果保留 2 位小数。
参数:
- 值: 待转换的 int64 值
返回:
- float64: 转换后的浮点数(保留 2 位小数)
func Intersection ¶
Intersection calculates the intersection of two integer slices (elements present in both slices).
Parameters:
- a: first slice
- b: second slice
Returns:
- []int: intersection result
Example:
a := []int{1, 2, 3, 4, 5}
b := []int{3, 4, 5, 6, 7}
Intersection(a, b) // []int{3, 4, 5}
func IsPrime ¶
IsPrime checks if an integer is a prime number.
Parameters:
- n: integer to check
Returns:
- bool: true if prime, false otherwise
Example:
IsPrime(7) // true IsPrime(10) // false
func Jjson_删除值 ¶
Jjson_删除值 从 JSON 字符串中删除指定路径的值。
参数:
- json文本: 原始 JSON 字符串
- 路径: 要删除的路径
返回:
- string: 删除后的 JSON 字符串
- error: 删除失败时返回错误
func Jjson_到文本 ¶
Jjson_到文本 将 Go 值序列化为 JSON 字符串。
参数:
- 值: 待序列化的值,支持结构体、map、切片等
返回:
- string: JSON 字符串
- error: 序列化失败时返回错误
func Jjson_到格式化文本 ¶
Jjson_到格式化文本 将 Go 值序列化为带缩进的 JSON 字符串。
参数:
- 值: 待序列化的值
- 缩进: 缩进字符串,通常为 " " 或 "\t"
返回:
- string: 格式化后的 JSON 字符串
- error: 序列化失败时返回错误
func Jjson_取值 ¶
Jjson_取值 从 JSON 字符串中根据路径获取值。 路径语法参考 gjson:点号分隔,如 "user.name"、"list.0.id"。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径,如 "key"、"a.b.c"、"arr.0"
返回:
- string: 路径对应的值(字符串形式);路径不存在时返回空串
func Jjson_取对象 ¶
Jjson_取对象 从 JSON 字符串中根据路径获取对象的键值对。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径,指向一个 JSON 对象
返回:
- map[string]gjson.Result: 对象的键值映射;路径不存在时返回空 map
func Jjson_取所有路径 ¶
Jjson_取所有路径 获取 JSON 字符串中所有值的路径。 返回所有叶节点的路径,便于遍历整个 JSON 结构。
参数:
- json文本: JSON 格式的字符串
返回:
- []string: 所有路径的切片
func Jjson_取数组 ¶
Jjson_取数组 从 JSON 字符串中根据路径获取数组。 返回 gjson.Result 数组,可通过下标访问每个元素。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径,指向一个 JSON 数组
返回:
- []gjson.Result: 数组元素列表;路径不存在时返回空切片
func Jjson_取数组长度 ¶
Jjson_取数组长度 从 JSON 字符串中获取指定路径数组的长度。
参数:
- json文本: JSON 格式的字符串
- 路径: 指向 JSON 数组的路径
返回:
- int: 数组长度;路径不存在或非数组时返回 0
func Jjson_取整数 ¶
Jjson_取整数 从 JSON 字符串中根据路径获取整数值。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径
返回:
- int64: 路径对应的整数值;路径不存在时返回 0
func Jjson_取浮点数 ¶
Jjson_取浮点数 从 JSON 字符串中根据路径获取浮点数值。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径
返回:
- float64: 路径对应的浮点数值;路径不存在时返回 0
func Jjson_取逻辑型 ¶
Jjson_取逻辑型 从 JSON 字符串中根据路径获取布尔值。
参数:
- json文本: JSON 格式的字符串
- 路径: 取值路径
返回:
- bool: 路径对应的布尔值;路径不存在时返回 false
func Jjson_是否存在 ¶
Jjson_是否存在 判断 JSON 字符串中指定路径是否存在。
参数:
- json文本: JSON 格式的字符串
- 路径: 检查路径
返回:
- bool: 路径存在返回 true,否则返回 false
func Jjson_解析 ¶
Jjson_解析 将 JSON 字符串反序列化到目标变量。
参数:
- json文本: JSON 格式的字符串
- 目标: 指向目标变量的指针,如 &obj
返回:
- error: 反序列化失败时返回错误
func Jjson_设置值 ¶
Jjson_设置值 在 JSON 字符串中设置指定路径的值。 如果路径不存在会自动创建;支持设置字符串、数值、布尔值等。
参数:
- json文本: 原始 JSON 字符串
- 路径: 设置路径,如 "user.name"、"list.-1"(追加到数组末尾)
- 值: 要设置的值
返回:
- string: 修改后的 JSON 字符串
- error: 设置失败时返回错误
func Jjson_设置整数值 ¶
Jjson_设置整数值 在 JSON 字符串中设置指定路径的整数值。
参数:
- json文本: 原始 JSON 字符串
- 路径: 设置路径
- 值: 要设置的整数值
返回:
- string: 修改后的 JSON 字符串
- error: 设置失败时返回错误
func Jjson_设置文本值 ¶
Jjson_设置文本值 在 JSON 字符串中设置指定路径的字符串值。
参数:
- json文本: 原始 JSON 字符串
- 路径: 设置路径
- 值: 要设置的字符串值
返回:
- string: 修改后的 JSON 字符串
- error: 设置失败时返回错误
func Join ¶
Join joins a slice of strings into a single string.
Parameters:
- parts: slice of strings to join
- sep: separator
Returns:
- string: joined string
Example:
Join([]string{"a", "b", "c"}, ",") // "a,b,c"
func J加解密_3DES_CBC加密 ¶
J加解密_3DES_CBC加密 使用 3DES-CBC 模式加密数据。 3DES 对每个数据块应用三次 DES 加密,密钥长度固定为 24 字节(168 位有效密钥)。 采用 PKCS7 填充方案,返回 Base64 编码的密文。
参数:
- 明文: 待加密的原始数据
- 密钥: 3DES 密钥,长度必须为 24 字节
- IV: 初始化向量,长度必须为 8 字节
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_3DES_CBC解密 ¶
J加解密_3DES_CBC解密 3DES-CBC 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: 3DES 密钥(24 字节)
- IV: 初始化向量
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_3DES_ECB加密 ¶
J加解密_3DES_ECB加密 使用 3DES-ECB 模式加密数据。 ECB 模式不使用 IV,安全性较低。
参数:
- 明文: 待加密的原始数据
- 密钥: 3DES 密钥(24 字节)
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_3DES_ECB解密 ¶
J加解密_3DES_ECB解密 3DES-ECB 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: 3DES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_AES_CBC加密 ¶
J加解密_AES_CBC加密 使用 AES-CBC 模式加密数据。 采用 PKCS7 填充方案,返回 Base64 编码的密文。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥,长度必须为 16(AES-128)、24(AES-192)或 32(AES-256)字节
- IV: 初始化向量,长度必须为 16 字节
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_AES_CBC解密 ¶
J加解密_AES_CBC解密 AES-CBC 模式解密,输入为 Base64 密文。
参数:
- 密文Base64: Base64 编码的密文文本
- 密钥: AES 密钥
- IV: 初始化向量
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_AES_CFB加密 ¶
J加解密_AES_CFB加密 使用 AES-CFB 模式加密数据。 CFB 模式为流加密模式,不需要填充,适合逐字节加密场景。 自动生成随机 IV,格式为 IV + 密文。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_AES_CFB解密 ¶
J加解密_AES_CFB解密 AES-CFB 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: AES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_AES_CTR加密 ¶
J加解密_AES_CTR加密 使用 AES-CTR 模式加密数据。 CTR 模式为流加密模式,不需要填充,适合任意长度数据。 自动生成随机 IV,格式为 IV + 密文。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_AES_CTR解密 ¶
J加解密_AES_CTR解密 AES-CTR 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: AES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_AES_ECB加密 ¶
J加解密_AES_ECB加密 使用 AES-ECB 模式加密数据(不推荐在生产环境使用)。 ECB 模式不使用 IV,安全性较低,相同明文块会生成相同密文块。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_AES_ECB解密 ¶
J加解密_AES_ECB解密 AES-ECB 模式解密。
参数:
- 密文Base64: Base64 编码的密文文本
- 密钥: AES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_AES_GCM加密 ¶
J加解密_AES_GCM加密 使用 AES-GCM 认证加密模式加密数据。 GCM 模式同时提供机密性和完整性验证,推荐用于安全敏感场景。 自动生成 12 字节随机 nonce,格式为 nonce + 密文。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥
- 附加数据: 可选,参与认证但不加密的附加数据
返回:
- string: Base64 编码的密文(nonce + 密文 + tag)
- error: 加密失败时返回错误信息
func J加解密_AES_GCM解密 ¶
J加解密_AES_GCM解密 AES-GCM 认证解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: AES 密钥
- 附加数据: 加密时传入的附加数据,必须一致
返回:
- []byte: 解密后的明文字节集
- error: 解密失败或认证失败时返回错误信息
func J加解密_AES_OFB加密 ¶
J加解密_AES_OFB加密 使用 AES-OFB 模式加密数据。 OFB 将分组密码转换为同步流密码,比特错误不会传播。 自动生成随机 IV,格式为 IV + 密文。
参数:
- 明文: 待加密的原始数据
- 密钥: AES 密钥
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_AES_OFB解密 ¶
J加解密_AES_OFB解密 AES-OFB 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: AES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_DES_CBC加密 ¶
J加解密_DES_CBC加密 使用 DES-CBC 模式加密数据。 DES 密钥长度固定为 8 字节(56 位有效密钥)。 采用 PKCS7 填充方案,返回 Base64 编码的密文。
参数:
- 明文: 待加密的原始数据
- 密钥: DES 密钥,长度必须为 8 字节
- IV: 初始化向量,长度必须为 8 字节
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_DES_CBC解密 ¶
J加解密_DES_CBC解密 DES-CBC 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: DES 密钥
- IV: 初始化向量
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_DES_ECB加密 ¶
J加解密_DES_ECB加密 使用 DES-ECB 模式加密数据。 ECB 模式不使用 IV,安全性较低,不建议在生产环境使用。
参数:
- 明文: 待加密的原始数据
- 密钥: DES 密钥(8 字节)
返回:
- string: Base64 编码的密文
- error: 加密失败时返回错误信息
func J加解密_DES_ECB解密 ¶
J加解密_DES_ECB解密 DES-ECB 模式解密。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: DES 密钥
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_RC4 ¶
J加解密_RC4 使用 RC4 算法对数据进行加解密。 RC4 为对称流加密算法,加密和解密调用同一函数。 返回值经过 Base64 编码方便存储。
参数:
- 数据: 待加解密的原始数据
- 密钥: RC4 密钥,建议长度 5-16 字节
返回:
- string: Base64 编码的加解密结果
func J加解密_RC4字节集 ¶
J加解密_RC4字节集 RC4 加解密,返回原始字节集(不经过 Base64 编码)。
参数:
- 数据: 待加解密的原始数据
- 密钥: RC4 密钥
返回:
- []byte: 加解密结果的原始字节集
func J加解密_TEA加密 ¶
J加解密_TEA加密 TEA 加密算法。 TEA 是一种轻量级分组密码,使用 128 位密钥,性能优秀且实现简单。 明文长度必须是 8 的整数倍(不足会自动零填充)。 迭代轮数默认 32 轮。
参数:
- 明文: 待加密的原始数据
- 密钥: TEA 密钥,长度必须为 16 字节
返回:
- string: Base64 编码的密文
- error: 密钥长度不足时返回错误
func J加解密_TEA解密 ¶
J加解密_TEA解密 TEA 解密算法。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: TEA 密钥(16 字节)
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_XOR ¶
J加解密_XOR 使用 XOR 算法对数据进行加解密。 XOR 是最简单的对称加密算法,加密和解密调用同一函数。 密钥会循环使用以匹配数据长度。
参数:
- 数据: 待加解密的原始数据
- 密钥: XOR 密钥
返回:
- []byte: 加解密结果的原始字节集
func J加解密_XOR文本 ¶
J加解密_XOR文本 XOR 加解密,返回 Base64 编码字符串。 适用于字符串加密场景,方便存储和传输。
参数:
- 数据: 待加解密的原始数据
- 密钥: XOR 密钥
返回:
- string: Base64 编码的加解密结果
func J加解密_XXTEA加密 ¶
J加解密_XXTEA加密 XXTEA 加密算法。 XXTEA 是 TEA 的改进版本,支持任意长度数据,无需填充。 密钥长度为 16 字节,加密结果经过 Base64 编码。
参数:
- 明文: 待加密的任意长度数据
- 密钥: XXTEA 密钥,长度必须至少 16 字节
返回:
- string: Base64 编码的密文
- error: 密钥长度不足时返回错误
func J加解密_XXTEA解密 ¶
J加解密_XXTEA解密 XXTEA 解密算法。
参数:
- 密文Base64: Base64 编码的密文
- 密钥: XXTEA 密钥(至少 16 字节)
返回:
- []byte: 解密后的明文字节集
- error: 解密失败时返回错误信息
func J加解密_生成AES密钥 ¶
J加解密_生成AES密钥 生成指定长度的 AES 密钥(16/24/32 字节)。 密钥由 crypto/rand 生成,确保安全随机。
参数:
- 长度: 密钥长度,可选 16(AES-128)、24(AES-192)、32(AES-256)
返回:
- []byte: 随机生成的 AES 密钥
- error: 生成失败或长度非法时返回错误
func J加解密_生成IV ¶
J加解密_生成IV 生成指定块大小的随机初始化向量(IV)。 AES/DES 的 IV 长度等于块大小(AES=16, DES/3DES=8)。
参数:
- 块大小: IV 长度,通常为 8(DES/3DES)或 16(AES)
返回:
- []byte: 随机生成的 IV
- error: 生成失败时返回错误
func J校验_HMAC_MD5 ¶
J校验_HMAC_MD5 使用 HMAC-MD5 计算消息认证码。
参数:
- 密钥: HMAC 密钥
- 数据: 待认证的数据
- 返回值转成大写: true 返回大写
返回:
- string: 32 位十六进制 HMAC-MD5 值
func J校验_HMAC_SHA1 ¶
J校验_HMAC_SHA1 使用 HMAC-SHA1 计算消息认证码。
参数:
- 密钥: HMAC 密钥
- 数据: 待认证的数据
- 返回值转成大写: true 返回大写
返回:
- string: 40 位十六进制 HMAC-SHA1 值
func J校验_HMAC_SHA256 ¶
J校验_HMAC_SHA256 使用 HMAC-SHA256 计算消息认证码。 常用于 API 签名验证。
参数:
- 密钥: HMAC 密钥
- 数据: 待认证的数据
- 返回值转成大写: true 返回大写
返回:
- string: 64 位十六进制 HMAC-SHA256 值
func J校验_HMAC_SHA512 ¶
J校验_HMAC_SHA512 使用 HMAC-SHA512 计算消息认证码。
参数:
- 密钥: HMAC 密钥
- 数据: 待认证的数据
- 返回值转成大写: true 返回大写
返回:
- string: 128 位十六进制 HMAC-SHA512 值
func J校验_取Adler32 ¶
J校验_取Adler32 计算字节集数据的 Adler-32 校验值。
参数:
- 数据: 待计算的字节集
- 返回值转成大写: true 返回大写
返回:
- string: 8 位十六进制 Adler-32 校验值
func J校验_取CRC64 ¶
J校验_取CRC64 计算字节集数据的 CRC64 校验值。 使用 ECMA 多项式。
参数:
- 数据: 待计算的字节集
- 返回值转成大写: true 返回大写
返回:
- string: 16 位十六进制 CRC64 校验值
func J校验_取Crc32 ¶
J校验_取Crc32 计算字节集数据的 CRC32 校验值,返回 8 位十六进制字符串。
参数:
- 数据: 待计算校验值的字节集
- 返回值转成大写: true 返回大写,false 返回小写
返回:
- string: 8 位十六进制 CRC32 校验值;计算失败返回空串
func J校验_取Crc32_文件 ¶
J校验_取Crc32_文件 计算文件的 CRC32 校验值。
参数:
- 文件路径: 文件路径
- 返回值转成大写: true 返回大写
返回:
- string: 8 位十六进制 CRC32 校验值
- error: 文件读取失败时返回错误
func J校验_取md5 ¶
J校验_取md5 计算字节集数据的 MD5 哈希值,返回 32 位十六进制字符串。
参数:
- 字节集数据: 待计算哈希的字节集
- 返回值转成大写: true 返回大写哈希,false 返回小写哈希
返回:
- string: 32 位十六进制 MD5 哈希值
func J校验_取md5_16位 ¶
J校验_取md5_16位 计算 16 位 MD5 哈希值(取 32 位的中间 16 位)。
参数:
- 字节集数据: 待计算哈希的字节集
- 返回值转成大写: true 返回大写
返回:
- string: 16 位十六进制 MD5 哈希值
func J校验_取md5_文件 ¶
J校验_取md5_文件 计算文件的 MD5 哈希值(流式读取,支持大文件)。
参数:
- 文件路径: 文件路径
- 返回值转成大写: true 返回大写
返回:
- string: 32 位十六进制 MD5 哈希值
- error: 文件读取失败时返回错误
func J校验_取md5_文本 ¶
J校验_取md5_文本 计算文本字符串的 MD5 哈希值。
参数:
- 文本数据: 待计算哈希的文本
- 返回值转成大写: true 返回大写哈希,false 返回小写哈希
返回:
- string: 32 位十六进制 MD5 哈希值
func J校验_取sha1 ¶
J校验_取sha1 计算字节集数据的 SHA1 哈希值,返回 40 位十六进制字符串。
参数:
- 数据: 待计算哈希的字节集
- 返回值转成大写: true 返回大写,false 返回小写
返回:
- string: 40 位十六进制 SHA1 哈希值
func J校验_取sha1_文件 ¶
J校验_取sha1_文件 计算文件的 SHA1 哈希值。
参数:
- 文件路径: 文件路径
- 返回值转成大写: true 返回大写
返回:
- string: 40 位十六进制 SHA1 哈希值
- error: 文件读取失败时返回错误
func J校验_取sha256 ¶
J校验_取sha256 计算字节集数据的 SHA256 哈希值,返回 64 位十六进制字符串。
参数:
- 数据: 待计算哈希的字节集
- 返回值转成大写: true 返回大写,false 返回小写
返回:
- string: 64 位十六进制 SHA256 哈希值
func J校验_取sha256_文件 ¶
J校验_取sha256_文件 计算文件的 SHA256 哈希值。
参数:
- 文件路径: 文件路径
- 返回值转成大写: true 返回大写
返回:
- string: 64 位十六进制 SHA256 哈希值
- error: 文件读取失败时返回错误
func J校验_取sha512 ¶
J校验_取sha512 计算字节集数据的 SHA512 哈希值,返回 128 位十六进制字符串。
参数:
- 数据: 待计算哈希的字节集
- 返回值转成大写: true 返回大写,false 返回小写
返回:
- string: 128 位十六进制 SHA512 哈希值
func J校验_取sha512_文件 ¶
J校验_取sha512_文件 计算文件的 SHA512 哈希值。
参数:
- 文件路径: 文件路径
- 返回值转成大写: true 返回大写
返回:
- string: 128 位十六进制 SHA512 哈希值
- error: 文件读取失败时返回错误
func J校验_校验HMAC ¶
J校验_校验HMAC 校验 HMAC-SHA256 是否与预期一致。
参数:
- 密钥: HMAC 密钥
- 数据: 待认证的数据
- 预期值: 预期的 HMAC 值
返回:
- bool: 一致返回 true
func J校验_校验MD5 ¶
J校验_校验MD5 校验数据的 MD5 哈希值是否与预期一致。
参数:
- 数据: 待校验的字节集
- 预期值: 预期的 MD5 哈希值(不区分大小写)
返回:
- bool: 一致返回 true
func J校验_校验SHA256 ¶
J校验_校验SHA256 校验数据的 SHA256 哈希值是否与预期一致。
参数:
- 数据: 待校验的字节集
- 预期值: 预期的 SHA256 哈希值(不区分大小写)
返回:
- bool: 一致返回 true
func J校验_校验文件MD5 ¶
J校验_校验文件MD5 校验文件的 MD5 哈希值是否与预期一致。
参数:
- 文件路径: 文件路径
- 预期值: 预期的 MD5 哈希值
返回:
- bool: 一致返回 true
- error: 文件读取失败时返回错误
func J校验_校验文件SHA256 ¶
J校验_校验文件SHA256 校验文件的 SHA256 哈希值是否与预期一致。
参数:
- 文件路径: 文件路径
- 预期值: 预期的 SHA256 哈希值
返回:
- bool: 一致返回 true
- error: 文件读取失败时返回错误
func J结构体_合并 ¶
func J结构体_合并(目标 interface{}, 源 interface{}) error
J结构体_合并 将源结构体的非零值字段合并到目标结构体。 仅覆盖目标结构体中的零值字段,非零值保持不变。 基于 mergo 库实现,适用于配置合并、默认值填充等场景。
参数:
- 目标: 目标结构体指针,合并结果写入此结构体
- 源: 源结构体,其非零值将覆盖目标中的零值
返回:
- error: 合并失败时返回错误(如类型不匹配)
func J结构体_合并Map ¶
func J结构体_合并Map(目标 interface{}, 源 interface{}) error
J结构体_合并Map 将源 map 的非零值合并到目标 map。
参数:
- 目标: 目标 map 指针
- 源: 源 map
返回:
- error: 合并失败时返回错误
func J结构体_合并Map覆盖 ¶
func J结构体_合并Map覆盖(目标 interface{}, 源 interface{}) error
J结构体_合并Map覆盖 将源 map 的所有值合并到目标 map,覆盖已有键。
参数:
- 目标: 目标 map 指针
- 源: 源 map
返回:
- error: 合并失败时返回错误
func J结构体_合并不带空值 ¶
func J结构体_合并不带空值(目标 interface{}, 源 interface{}) error
J结构体_合并不带空值 将源结构体的非零值字段合并到目标,跳过空值。 源结构体中为零值的字段不会覆盖目标中的对应字段。
参数:
- 目标: 目标结构体指针
- 源: 源结构体
返回:
- error: 合并失败时返回错误
func J结构体_合并覆盖 ¶
func J结构体_合并覆盖(目标 interface{}, 源 interface{}) error
J结构体_合并覆盖 将源结构体的所有字段合并到目标结构体。 与 J结构体_合并 不同,此函数会覆盖目标中的所有字段(包括非零值)。
参数:
- 目标: 目标结构体指针
- 源: 源结构体
返回:
- error: 合并失败时返回错误
func J结构体_复制 ¶
func J结构体_复制(目标 interface{}, 源 interface{}) error
J结构体_复制 将源结构体的字段值复制到目标结构体。 基于 copier 库实现,支持不同结构体之间的字段复制(按字段名匹配)。 支持切片、嵌套结构体等复杂类型的复制。
参数:
- 目标: 目标结构体指针
- 源: 源结构体实例
返回:
- error: 复制失败时返回错误
func J结构体_复制带选项 ¶
J结构体_复制带选项 带选项复制结构体字段。 可控制是否忽略空值、是否深拷贝等行为。
参数:
- 目标: 目标结构体指针
- 源: 源结构体实例
- 忽略空值: true 时源中的零值字段不会覆盖目标
返回:
- error: 复制失败时返回错误
func K环境_从文本读取 ¶
K环境_从文本读取 从文本内容解析环境变量(无需文件)。 文本格式与 .env 文件相同,每行一个 "KEY=VALUE"。
参数:
- 文本: 环境变量文本内容
返回:
- map[string]string: 解析后的键值对
- error: 解析失败时返回错误
func K环境_加载 ¶
K环境_加载 从指定文件加载环境变量到当前进程。 不会覆盖已存在的环境变量。
参数:
- 文件路径: .env 文件路径,如 ".env" 或 "config/.env"
返回:
- error: 加载失败时返回错误
func K环境_加载并覆盖 ¶
K环境_加载并覆盖 从指定文件加载环境变量到当前进程。 会覆盖已存在的同名环境变量。
参数:
- 文件路径: .env 文件路径
返回:
- error: 加载失败时返回错误
func K环境_取值带默认值 ¶
K环境_取值带默认值 获取指定环境变量的值,不存在时返回默认值。
参数:
- 名称: 环境变量名
- 默认值: 变量不存在时返回的默认值
返回:
- string: 环境变量的值或默认值
func K环境_设置值 ¶
K环境_设置值 设置环境变量的值。 设置的环境变量仅在当前进程及其子进程中有效。
参数:
- 名称: 环境变量名
- 值: 环境变量的值
返回:
- error: 设置失败时返回错误
func K表格_从CSV读取 ¶
K表格_从CSV读取 从 CSV 字符串解析表格数据。
参数:
- csv文本: CSV 格式的文本
返回:
- []string: 表头
- [][]string: 行数据
- error: 解析失败时返回错误
func K表格_创建 ¶
func K表格_创建() *termtables.Table
K表格_创建 创建一个新的控制台表格。 创建后可通过 K表格_添加表头 和 K表格_添加行 填充数据。
返回:
- *termtables.Table: 表格对象指针
func K表格_合并 ¶
K表格_合并 合并两个表格(行追加)。 两个表格的列数应一致。
参数:
- 行数据1: 第一个表格的行数据
- 行数据2: 第二个表格的行数据
返回:
- [][]string: 合并后的行数据
func K表格_快速创建 ¶
K表格_快速创建 快速创建并输出一个表格。 传入表头和行数据,直接返回渲染后的表格字符串。
参数:
- 表头: 表头列名列表
- 行数据: 二维字符串数组,每行一个切片
返回:
- string: 渲染后的表格字符串
func K表格_排序列 ¶
K表格_排序列 按指定列排序表格行数据。
参数:
- 行数据: 二维字符串数组
- 列索引: 排序依据的列索引
- 升序: true 升序,false 降序
返回:
- [][]string: 排序后的行数据
func K表格_添加行 ¶
func K表格_添加行(表格 *termtables.Table, 行数据 ...interface{})
K表格_添加行 为表格添加一行数据。 列数应与表头列数一致。
参数:
- 表格: 表格对象指针
- 行数据: 该行各列的值
func K表格_添加表头 ¶
func K表格_添加表头(表格 *termtables.Table, 表头 ...string)
K表格_添加表头 为表格添加表头行。 表头会以粗体或分隔线形式突出显示。
参数:
- 表格: 表格对象指针
- 表头: 表头列名列表
func K表格_转置 ¶
K表格_转置 将表格数据进行转置(行列互换)。
参数:
- 表头: 表头列名列表
- 行数据: 二维字符串数组
返回:
- []string: 新表头
- [][]string: 新行数据
func K表格_输出 ¶
func K表格_输出(表格 *termtables.Table) string
K表格_输出 将表格渲染为字符串输出。 自动对齐列宽,适合在控制台显示。
参数:
- 表格: 表格对象指针
返回:
- string: 渲染后的表格字符串
func K表格_输出CSV ¶
K表格_输出CSV 将表格输出为 CSV 格式。 每行用逗号分隔,字段含逗号时自动加引号。
参数:
- 表头: 表头列名列表
- 行数据: 二维字符串数组
返回:
- string: CSV 格式字符串
func K表格_输出JSON ¶
K表格_输出JSON 将表格输出为 JSON 数组格式。 每行数据与表头组合成对象,所有行组成数组。
参数:
- 表头: 表头列名列表
- 行数据: 二维字符串数组
返回:
- string: JSON 格式字符串
func K表格_输出Markdown ¶
K表格_输出Markdown 将表格渲染为 Markdown 格式。 使用 | 分隔列,适合写入 Markdown 文档。
参数:
- 表头: 表头列名列表
- 行数据: 二维字符串数组
返回:
- string: Markdown 格式的表格字符串
func K表格_过滤行 ¶
K表格_过滤行 按条件过滤表格行数据。 条件函数返回 true 时保留该行。
参数:
- 行数据: 二维字符串数组
- 条件: 过滤条件函数,参数为行索引和行数据
返回:
- [][]string: 过滤后的行数据
func LBinarySearch ¶
LBinarySearch 使用二分查找算法在已排序的整数切片中查找目标值。
Parameters:
- nums: 已排序的整数切片(升序)
- target: 要查找的目标值
Returns:
- int: 目标值的索引,未找到返回 -1
Example:
nums := []int{1, 2, 5, 8, 9}
LBinarySearch(nums, 5) // returns 2
LBinarySearch(nums, 3) // returns -1
func LLinearSearch ¶
func LLinearSearch[T comparable](slice []T, target T) int
LLinearSearch 在线性列表中查找目标值。
Type Parameters:
- T: any comparable type
Parameters:
- slice: slice to search
- target: target value to find
Returns:
- int: index of target value, -1 if not found
Example:
strings := []string{"a", "b", "c"}
LLinearSearch(strings, "b") // returns 1
func LMergeSort ¶
LMergeSort 使用归并排序算法对整数切片进行排序(升序),返回新切片。
Parameters:
- nums: 待排序的整数切片
Returns:
- []int: 排序后的新切片(不修改原切片)
func LQuickSort ¶
func LQuickSort(nums []int)
LQuickSort 使用快速排序算法对整数切片进行排序(升序),会修改原切片。
Parameters:
- nums: 待排序的整数切片
Example:
nums := []int{5, 2, 8, 1, 9}
LQuickSort(nums)
// nums = []int{1, 2, 5, 8, 9}
func LessOrEqual ¶
func LessOrEqual[T constraints.Ordered](left, right T) bool
LessOrEqual 检查 left 是否小于或等于 right。
Type Parameters:
- T: 支持比较运算的类型 (numeric types)
Parameters:
- left: 左值
- right: 右值
Returns:
- bool: left <= right 返回 true
Example:
LessOrEqual(1, 2) // true LessOrEqual(2, 2) // true LessOrEqual(3, 2) // false
func LessThan ¶
func LessThan[T constraints.Ordered](left, right T) bool
LessThan 检查 left 是否小于 right。
Type Parameters:
- T: 支持比较运算的类型 (numeric types)
Parameters:
- left: 左值
- right: 右值
Returns:
- bool: left < right 返回 true
Example:
LessThan(1, 2) // true LessThan(3, 3) // false
func L日志_创建开发日志 ¶
L日志_创建开发日志 创建适用于开发环境的日志实例。 输出到控制台,使用人类可读的格式,日志级别为 Debug。
返回:
- *zap.Logger: zap 日志实例
- error: 创建失败时返回错误
func L日志_创建生产日志 ¶
L日志_创建生产日志 创建适用于生产环境的日志实例。 输出 JSON 格式日志,日志级别为 Info,自带调用者信息和堆栈跟踪。
返回:
- *zap.Logger: zap 日志实例
- error: 创建失败时返回错误
func L日志_创建自定义日志 ¶
L日志_创建自定义日志 创建自定义配置的日志实例。 可指定日志级别、输出路径、编码格式等。
参数:
- 日志级别: 0=Debug, 1=Info, 2=Warn, 3=Error
- 输出路径: 日志文件路径列表,如 []string{"stdout", "/var/log/app.log"}
- JSON格式: true 使用 JSON 编码,false 使用 Console 编码
返回:
- *zap.Logger: zap 日志实例
- error: 创建失败时返回错误
func L日志_调试 ¶
L日志_调试 输出 Debug 级别的日志。
参数:
- 日志: zap 日志实例
- 消息: 日志消息
- 字段: 可选的结构化字段,如 zap.String("key", "value")
func MapLength ¶
func MapLength[K comparable, V any](m map[K]V) int
MapLength gets the length of a Map (number of key-value pairs).
Type Parameters:
- K: key type
- V: value type
Parameters:
- m: Map to query
Returns:
- int: Map length
Example:
m := map[string]int{"a": 1, "b": 2}
MapLength(m) // 2
func MapSlice ¶
Map applies transformation function to each element in slice.
Type Parameters:
- T: source element type
- U: transformed element type
Parameters:
- slice: source slice
- fn: transformation function
Returns:
- []U: transformed slice
Example:
nums := []int{1, 2, 3}
Map(nums, func(n int) string { return strconv.Itoa(n) })
// []string{"1", "2", "3"}
func MapToPairs ¶
func MapToPairs[K comparable, V any](m map[K]V) [][]interface{}
MapToPairs converts a Map to a 2D slice [[key, value], ...].
Type Parameters:
- K: key type
- V: value type
Parameters:
- m: Map to convert
Returns:
- [][]interface{}: 2D slice
Example:
m := map[string]int{"a": 1, "b": 2}
MapToPairs(m) // [][]interface{}{{"a", 1}, {"b", 2}}
func MapValues ¶
func MapValues[K comparable, V any, U any](m map[K]V, fn func(V) U) map[K]U
MapValues applies transformation function to all values in Map.
Type Parameters:
- K: key type (must be comparable)
- V: source value type
- U: transformed value type
Parameters:
- m: Map to transform
- fn: transformation function
Returns:
- map[K]U: transformed Map
Example:
m := map[string]int{"a": 1, "b": 2}
MapValues(m, func(v int) string { return strconv.Itoa(v) })
// map[string]string{"a": "1", "b": "2"}
func Map_Struct转Map ¶
func Map_Struct转Map(obj interface{}) map[string]interface{}
Map_Struct转Map 利用反射将结构体转换为 map[string]interface{}。 结构体字段如果带有 "mapstructure" tag,则使用 tag 值作为 map 的键名; 否则使用结构体字段的原始名称。
参数:
- obj: 结构体实例(非指针)
返回:
- map[string]interface{}: 转换后的 map
示例:
type User struct {
Name string `mapstructure:"user_name"`
Age int
}
Map_Struct转Map(User{Name: "张三", Age: 25})
// map[string]interface{}{"user_name": "张三", "Age": 25}
func Map_取key整数数组 ¶
Map_取key整数数组 从 map[int]string 中提取所有键名,返回整数数组。 预分配了 map 长度的数组容量,避免 append 时的内存重分配。
参数:
- m: 整数键的 map
返回:
- []int: 所有键名组成的数组
func Map_转post数据 ¶
Map_转post数据 将 map[string]string 转换为 POST 表单格式的字符串。 格式:key1=value1&key2=value2
参数:
- URL参数: 键值对 map
- 是否url编码: true 时使用 url.Values.Encode 进行标准 URL 编码
返回:
- string: 拼接后的 POST 数据字符串
func Map_键名是否存在 ¶
Map_键名是否存在 检查 map[int]string 中是否存在指定的键名。
参数:
- m: 待检查的 map
- key: 要查找的键名
返回:
- bool: true 表示键名存在
func MathAverage ¶
MathAverage calculates the average of an integer slice.
Parameters:
- nums: integer slice to calculate average
Returns:
- float64: average value; 0 if empty slice
Example:
MathAverage([]int{1, 2, 3, 4, 5}) // 3.0
func MathMax ¶
MathMax finds the maximum value in an integer slice.
Parameters:
- nums: integer slice to find maximum
Returns:
- int: maximum value; MinInt if empty
Example:
MathMax([]int{1, 5, 3, 9, 2}) // 9
func MathMin ¶
MathMin finds the minimum value in an integer slice.
Parameters:
- nums: integer slice to find minimum
Returns:
- int: minimum value; MaxInt if empty
Example:
MathMin([]int{1, 5, 3, 9, 2}) // 1
func MathSum ¶
MathSum calculates the sum of an integer slice.
Parameters:
- nums: integer slice to sum
Returns:
- int: sum of all elements
Example:
MathSum([]int{1, 2, 3, 4, 5}) // 15
func MergeMaps ¶
func MergeMaps[K comparable, V any](maps ...map[K]V) map[K]V
MergeMaps merges multiple Maps, later Maps will override same keys from earlier Maps.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- maps: list of Maps to merge
Returns:
- map[K]V: merged Map
Example:
m1 := map[string]int{"a": 1}
m2 := map[string]int{"b": 2}
MergeMaps(m1, m2) // map[string]int{"a": 1, "b": 2}
func M命令行_取剩余参数 ¶
func M命令行_取剩余参数() []string
M命令行_取剩余参数 获取命令行中未被 flag 解析的位置参数。 必须在 M命令行_解析 之后调用。
返回:
- []string: 未被解析的位置参数列表
func M命令行_取字符串参数 ¶
M命令行_取字符串参数 定义并获取一个字符串类型的命令行参数。 支持短参数名和长参数名两种形式,如 -n 和 -name。
参数:
- 短名称: 短参数名,如 "n"
- 长名称: 长参数名,如 "name"
- 默认值: 参数未提供时的默认值
- 说明: 参数的用法说明
返回:
- *string: 指向参数值的指针,解析后通过 *指针 获取实际值
func M命令行_取小数参数 ¶
M命令行_取小数参数 定义并获取一个浮点数类型的命令行参数。
参数:
- 短名称: 短参数名,如 "r"
- 长名称: 长参数名,如 "rate"
- 默认值: 参数未提供时的默认值
- 说明: 参数的用法说明
返回:
- *float64: 指向参数值的指针
func M命令行_取布尔参数 ¶
M命令行_取布尔参数 定义并获取一个布尔类型的命令行参数。
参数:
- 短名称: 短参数名,如 "v"
- 长名称: 长参数名,如 "verbose"
- 默认值: 参数未提供时的默认值
- 说明: 参数的用法说明
返回:
- *bool: 指向参数值的指针
func M命令行_取整数参数 ¶
M命令行_取整数参数 定义并获取一个整数类型的命令行参数。
参数:
- 短名称: 短参数名,如 "p"
- 长名称: 长参数名,如 "port"
- 默认值: 参数未提供时的默认值
- 说明: 参数的用法说明
返回:
- *int: 指向参数值的指针
func M命令行_置用法 ¶
func M命令行_置用法(用法函数 func())
M命令行_置用法 设置命令行参数的用法说明。 当用户输入 -h 或 --help 时显示此说明。
参数:
- 用法函数: 自定义的用法说明函数
func M命令行_解析 ¶
func M命令行_解析()
M命令行_解析 解析命令行参数。 调用 flag.Parse() 解析 os.Args[1:] 中的命令行参数。 应在定义所有命令行参数后调用此函数。
func M目录_创建 ¶
M目录_创建 递归创建目录(含所有必要的父目录)。 目录已存在时不做任何操作,直接返回 nil。
参数:
- 路径: 要创建的目录路径
返回:
- error: 创建失败时返回错误信息
func M目录_删除 ¶
M目录_删除 递归删除指定目录及其所有内容(文件和子目录)。 等同于 rm -rf,请谨慎使用。
参数:
- 欲删除的目录名称: 要删除的目录路径
返回:
- error: 删除失败时返回错误信息
func M目录_取运行目录 ¶
func M目录_取运行目录() string
M目录_取运行目录 获取当前可执行文件所在的目录。 路径中的反斜杠会被替换为正斜杠。
返回:
- string: 可执行文件所在目录的绝对路径
func M目录_是否存在 ¶
M目录_是否存在 检查指定路径的目录是否存在。
参数:
- path: 目录路径
返回:
- bool: true 表示目录存在
- error: 路径存在但不是目录时返回错误;不存在时返回 nil
func M目录_枚举子目录 ¶
M目录_枚举子目录 枚举指定目录下的子目录,结果通过指针参数返回。 可选择是否带完整路径、是否递归枚举子目录的子目录。
参数:
- 父文件夹路径: 要枚举的根目录路径
- 子目录数组: 用于接收结果的字符串数组指针(会追加到现有内容)
- 是否带路径: true 返回完整路径,false 仅返回目录名
- 是否继续向下枚举: true 递归枚举所有层级的子目录
返回:
- error: 枚举过程中遇到的错误
func N键值_创建索引 ¶
N键值_创建索引 为数据库创建索引,支持按 JSON 字段索引。 创建索引后可使用索引名进行高效查询。
参数:
- 数据库: 数据库实例
- 索引名: 索引名称
- 模式: 索引模式,如 "name" 或 "user.name"(JSON 路径)
返回:
- error: 创建失败时返回错误
func N键值_取值 ¶
N键值_取值 从数据库中获取指定键的值。
参数:
- 数据库: 数据库实例
- 键: 要获取的键名
返回:
- string: 键对应的值;键不存在时返回空串
- error: 键不存在或读取失败时返回错误
func N键值_打开 ¶
N键值_打开 打开或创建一个 BuntDB 数据库文件。 BuntDB 是基于内存的键值数据库,支持 JSON 操作、事务和索引。 数据会持久化到指定文件,文件不存在时自动创建。
参数:
- 文件路径: 数据库文件路径,如 "data.db";空字符串则使用纯内存模式
返回:
- *buntdb.DB: 数据库实例
- error: 打开失败时返回错误
func N键值_置值带过期 ¶
N键值_置值带过期 设置指定键的值,并设置过期时间。 过期后键值自动删除。
参数:
- 数据库: 数据库实例
- 键: 键名
- 值: 键值
- 过期秒数: 过期时间(秒),0 表示永不过期
返回:
- error: 设置失败时返回错误
func N键值_遍历 ¶
N键值_遍历 遍历指定范围内的所有键值对。 起始和结束为空字符串时遍历所有键。
参数:
- 数据库: 数据库实例
- 起始键: 遍历起始键(包含),空字符串从头开始
- 结束键: 遍历结束键(不包含),空字符串到末尾
- 回调函数: 每个键值对的回调,返回 false 停止遍历
返回:
- error: 遍历失败时返回错误
func PairsToMap ¶
func PairsToMap(pairs [][]interface{}) map[interface{}]interface{}
PairsToMap converts a 2D slice to a Map.
Parameters:
- pairs: 2D slice [[key, value], ...]
Returns:
- map[interface{}]interface{}: converted Map
Example:
pairs := [][]interface{}{{"a", 1}, {"b", 2}}
PairsToMap(pairs) // map[interface{}]interface{}{"a": 1, "b": 2}
func Pow ¶
Pow calculates base raised to the power of exponent.
Parameters:
- base: base number
- exponent: exponent
Returns:
- float64: base^exponent
Example:
Pow(2, 3) // 8.0 Pow(5, 0) // 1.0
func P对象池_取字节集 ¶
P对象池_取字节集 从对象池获取缓冲区,写入数据后取出字节集副本,再归还缓冲区。 适用于临时需要字节集切片的场景,减少 GC 压力。
参数:
- 数据: 要写入缓冲区的数据
返回:
- []byte: 数据的字节集副本
func P对象池_放回 ¶
func P对象池_放回(缓冲区 *bytebufferpool.ByteBuffer)
P对象池_放回 将字节缓冲区归还到池中。 归还后缓冲区内容会被自动清空,不可再使用该指针。 每次获取后必须调用此函数归还,否则会导致内存泄漏。
参数:
- 缓冲区: 之前通过 P对象池_获取 获取的缓冲区指针
func P对象池_获取 ¶
func P对象池_获取() *bytebufferpool.ByteBuffer
P对象池_获取 从字节缓冲池中获取一个字节缓冲区。 获取的缓冲区是空的(长度为0),可以安全写入。 使用完毕后必须调用 P对象池_放回 归还,避免内存泄漏。
返回:
- *bytebufferpool.ByteBuffer: 空的字节缓冲区指针
func P配置_从文件读取 ¶
P配置_从文件读取 从指定配置文件中读取配置项。 支持 JSON/TOML/YAML/INI/properties 等格式,自动根据文件扩展名识别。
参数:
- 文件路径: 配置文件的完整路径
返回:
- *viper.Viper: viper 实例,可用于后续取值操作
- error: 读取失败时返回错误
func P配置_从文件读取指定项 ¶
P配置_从文件读取指定项 从配置文件中读取指定键的值,返回字符串。
参数:
- 文件路径: 配置文件的完整路径
- 键名: 配置项的键名,支持点号分隔的层级路径,如 "database.host"
返回:
- string: 配置项的值
- error: 读取失败时返回错误
func P配置_绑定环境变量 ¶
P配置_绑定环境变量 将指定键绑定到环境变量。 读取配置时,若文件中无该键,则从环境变量中获取。
参数:
- v: viper 实例
- 键名: 配置项的键名
- 环境变量名: 对应的环境变量名
func P配置_自动环境变量 ¶
P配置_自动环境变量 开启自动环境变量绑定。 设置前缀后,所有键名会自动映射为 "前缀_键名" 格式的环境变量。
参数:
- v: viper 实例
- 前缀: 环境变量前缀,如 "MYAPP"
func P配置_设置值 ¶
P配置_设置值 在 viper 实例中设置指定键的值。 设置的值不会自动写入文件,需要调用 P配置_写回文件 持久化。
参数:
- v: viper 实例
- 键名: 配置项的键名
- 值: 要设置的值
func Q取单条Cookie ¶
Q取单条Cookie 从 Cookie 字符串中提取指定名称的单条 Cookie 值。 Cookie 字符串格式为 "name1=value1; name2=value2"。
参数:
- 原Cookies: 完整的 Cookie 字符串
- 单条Cookie名称: 要提取的 Cookie 名称(不区分大小写)
返回:
- string: Cookie 的值;未找到时返回空串
func Q取随机数 ¶
Q取随机数 生成指定范围内的随机整数,包含边界值 [min, max]。 注意:Go 1.20+ 之前版本未自动初始化随机种子,高频调用可能产生相同结果。
参数:
- min: 最小值(包含)
- max: 最大值(包含)
返回:
- int: [min, max] 范围内的随机整数
func Q权限_从文件创建 ¶
Q权限_从文件创建 从模型文件和策略文件创建权限管理器。 模型文件定义权限模型(如 RBAC、ABAC),策略文件存储具体的权限规则。
常用 RBAC 模型文件内容:
[request_definition] r = sub, obj, act [policy_definition] p = sub, obj, act [role_definition] g = _, _ [policy_effect] e = some(where (p.eft == allow)) [matchers] m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
参数:
- 模型文件路径: 权限模型文件路径,如 "model.conf"
- 策略文件路径: 权限策略文件路径,如 "policy.csv"
返回:
- *casbin.Enforcer: 权限管理器实例
- error: 创建失败时返回错误
func Q权限_从文本创建 ¶
Q权限_从文本创建 从模型文本和适配器创建权限管理器。 无需模型文件,直接传入模型文本字符串。
参数:
- 模型文本: 权限模型文本内容
- 适配器: 策略存储适配器,nil 则使用内存适配器
返回:
- *casbin.Enforcer: 权限管理器实例
- error: 创建失败时返回错误
func Q权限_保存策略 ¶
Q权限_保存策略 将当前内存中的策略保存到持久化存储。 使用文件适配器时,策略会写入 CSV 文件。
参数:
- 管理器: 权限管理器实例
返回:
- error: 保存失败时返回错误
func Q权限_创建内存 ¶
Q权限_创建内存 从模型文本创建纯内存权限管理器(不持久化)。 适用于临时权限检查或测试场景。
参数:
- 模型文本: 权限模型文本内容
返回:
- *casbin.Enforcer: 权限管理器实例
- error: 创建失败时返回错误
func Q权限_创建文件适配器 ¶
func Q权限_创建文件适配器(策略文件路径 string) *fileadapter.Adapter
Q权限_创建文件适配器 创建文件适配器,用于策略持久化。
参数:
- 策略文件路径: CSV 格式的策略文件路径
返回:
- *fileadapter.Adapter: 文件适配器实例
func Q权限_删除策略 ¶
Q权限_删除策略 删除一条权限策略。
参数:
- 管理器: 权限管理器实例
- 主体: 主体标识
- 资源: 资源标识
- 操作: 操作标识
返回:
- bool: true 表示策略被删除,false 表示策略不存在
- error: 删除失败时返回错误
func Q权限_删除角色 ¶
Q权限_删除角色 移除用户的指定角色。
参数:
- 管理器: 权限管理器实例
- 用户: 用户标识
- 角色: 角色标识
返回:
- bool: true 表示移除成功
- error: 移除失败时返回错误
func Q权限_取用户角色 ¶
Q权限_取用户角色 获取用户的所有角色列表。
参数:
- 管理器: 权限管理器实例
- 用户: 用户标识
返回:
- []string: 角色名称列表
- error: 查询失败时返回错误
func Q权限_检查权限 ¶
Q权限_检查权限 检查主体是否有权限对资源执行操作。 基于 RBAC/ABAC 模型进行权限判断。
参数:
- 管理器: 权限管理器实例
- 主体: 请求主体(用户/角色),如 "alice"
- 资源: 目标资源,如 "data1"
- 操作: 请求操作,如 "read"
返回:
- bool: true 表示有权限,false 表示无权限
- error: 检查失败时返回错误
func Q权限_添加策略 ¶
Q权限_添加策略 添加一条权限策略。 添加后需调用 Q权限_保存策略 持久化到文件。
参数:
- 管理器: 权限管理器实例
- 主体: 主体标识
- 资源: 资源标识
- 操作: 操作标识
返回:
- bool: true 表示策略是新添加的,false 表示策略已存在
- error: 添加失败时返回错误
func Q权限_添加角色 ¶
Q权限_添加角色 为用户分配角色。 在 RBAC 模型中使用,将用户绑定到角色。
参数:
- 管理器: 权限管理器实例
- 用户: 用户标识
- 角色: 角色标识
返回:
- bool: true 表示分配成功
- error: 分配失败时返回错误
func RSA_公钥解密 ¶
RSA_公钥解密 使用 RSA 公钥解密由私钥"加密"的数据。 这是 RSA_私钥加密 的逆操作,使用自定义的 publicDecrypt 实现。 支持解析 PKCS8 格式的公钥。
参数:
- 公钥: PEM 格式的 RSA 公钥字符串
- 密文: 待解密的密文字节集
返回:
- 明文字节集: 解密后的明文字节集;解密失败返回空字节集
func RSA_私钥加密 ¶
RSA_私钥加密 使用 RSA 私钥进行"加密"(实际是签名操作)。 使用 PKCS1v15 填充方案,crypto.Hash(0) 表示不进行哈希预处理。 注意:私钥加密通常用于签名场景,而非保密场景。
参数:
- Rsa私钥: PEM 格式的 RSA 私钥字节集
- 明文: 待加密的明文字节集
返回:
- base64密文: Base64 编码的加密结果;加密失败返回空串
func Repeat ¶
Repeat repeats a string specified number of times.
Parameters:
- s: string to repeat
- count: number of repetitions
Returns:
- string: repeated string
Example:
Repeat("abc", 3) // "abcabcabc"
func ReplaceAll ¶
ReplaceAll replaces all occurrences of a substring in a string.
Parameters:
- s: source string
- old: substring to replace
- new: replacement string
Returns:
- string: replaced string
Example:
ReplaceAll("hello world world", "world", "go") // "hello go go"
func Retry ¶
Retry executes a function with specified maximum retries and interval, automatically retries on failure.
Type Parameters:
- T: return value type
Parameters:
- fn: function to execute, returns value and error
- maxRetries: maximum number of retries
- interval: wait time between retries
Returns:
- T: return value on success
- error: last error if all retries fail
Example:
result, err := Retry(func() (string, error) {
return "success", nil
}, 3, time.Second)
func RetryWithCondition ¶
func RetryWithCondition[T any](fn func() (T, error), shouldRetry func(error) bool, maxRetries int, interval time.Duration) (T, error)
RetryWithCondition implements retry based on error type condition.
Type Parameters:
- T: return value type
Parameters:
- fn: function to execute, returns value and error
- shouldRetry: function to determine if retry should happen, takes current error
- maxRetries: maximum number of retries
- interval: wait time between retries
Returns:
- T: return value on success
- error: last error if all retries fail
Example:
result, err := RetryWithCondition(
func() (string, error) {
return "success", nil
},
func(err error) bool {
return err != nil && err.Error() == "retryable"
},
3,
time.Second,
)
func Reverse ¶
func Reverse(nums []int)
Reverse reverses the order of an integer slice, modifies the original slice.
Parameters:
- nums: integer slice to reverse
Example:
nums := []int{1, 2, 3, 4, 5}
Reverse(nums)
// nums = []int{5, 4, 3, 2, 1}
func ReverseMap ¶
func ReverseMap[K comparable, V comparable](m map[K]V) map[V]K
ReverseMap creates a reversed Map where original values become keys and original keys become values.
Type Parameters:
- K: original key type
- V: original value type (must be comparable as it becomes key)
Parameters:
- m: Map to reverse
Returns:
- map[V]K: reversed Map
Note:
If original Map has duplicate values, later keys will override earlier ones.
Example:
m := map[string]int{"a": 1, "b": 2}
ReverseMap(m) // map[int]string{1: "a", 2: "b"}
func Rsa_GetKey ¶
Rsa_GetKey 生成 1024 位的 RSA 公钥/私钥对。 返回 PEM 格式的公钥和私钥字符串。
返回:
- error: 生成失败时的错误信息
- PublicKey: PEM 格式的 PKCS8 公钥
- PrivateKey: PEM 格式的 PKCS1 私钥
func Rsa_公钥加密 ¶
Rsa_公钥加密 使用 RSA 公钥加密数据,返回 Base64 编码的密文。 支持解析 PKCS8 格式的公钥(最常见的公钥格式)。
参数:
- 公钥: PEM 格式的 RSA 公钥字符串
- 加密内容: 待加密的明文字节集
返回:
- base64密文: Base64 编码的加密结果;加密失败返回空串
func Rsa_私钥签名 ¶
Rsa_私钥签名 使用 RSA 私钥对数据进行 MD5 签名。 签名流程:对明文取 MD5 哈希 → 使用 PKCS1v15 填充方案签名 → 返回大写十六进制字符串。
参数:
- base64后明文: 待签名的明文数据(Base64 编码前的原始文本)
- RSA私钥: PEM 格式的 RSA 私钥字符串
返回:
- string: 大写十六进制格式的签名值;签名失败返回空串
func Rsa_私钥解密 ¶
Rsa_私钥解密 使用 RSA 私钥解密数据,返回解密后的字符串。 内部调用 Rsa_私钥解密2 并将结果转换为字符串。
参数:
- Rsa私钥: PEM 格式的 RSA 私钥字节集
- 加密数据: 待解密的密文字节集
返回:
- string: 解密后的明文字符串;解密失败返回空串
func Rsa_私钥解密2 ¶
Rsa_私钥解密2 使用 RSA 私钥解密数据,返回解密后的字节集。 使用 PKCS1v15 填充方案进行解密。
参数:
- Rsa私钥: PEM 格式的 RSA 私钥字节集
- 加密数据: 待解密的密文字节集
返回:
- []byte: 解密后的明文字节集;解密失败返回空字节集
func R日期_到文本 ¶
R日期_到文本 将 time.Time 格式化为指定布局的字符串。 使用 Go 标准的时间布局格式,如 "2006-01-02 15:04:05"。
参数:
- 时间: 时间对象
- 格式: Go 时间布局字符串,如 "2006-01-02"
返回:
- string: 格式化后的时间字符串
func R日期_取日期部分 ¶
R日期_取日期部分 从 time.Time 中提取日期部分(年月日)。
参数:
- 时间: 时间对象
返回:
- string: 日期部分字符串,格式 "2006-01-02"
func R日期_取格式名称 ¶
R日期_取格式名称 获取日期时间字符串对应的 Go 时间格式名称。 返回可用于 time.Parse 的格式字符串,如 "2006-01-02 15:04:05"。
参数:
- 日期文本: 日期时间字符串
返回:
- string: Go 时间格式字符串;无法识别时返回空串
func R日期_智能解析 ¶
R日期_智能解析 自动识别日期时间字符串的格式并解析为 time.Time。 支持绝大多数常见的日期时间格式,无需预先指定格式字符串。 基于 araddon/dateparse 库实现,支持中文日期、RFC3339、ISO8601 等格式。
参数:
- 日期文本: 日期时间字符串,如 "2024-01-15"、"2024/01/15 10:30:00"、"Jan 15, 2024"
返回:
- time.Time: 解析后的时间对象
- error: 解析失败时返回错误信息
func R日期_智能解析严格 ¶
R日期_智能解析严格 以严格模式解析日期时间字符串。 严格模式下,对格式匹配更加严格,减少误解析的可能性。
参数:
- 日期文本: 日期时间字符串
返回:
- time.Time: 解析后的时间对象
- error: 解析失败时返回错误信息
func R日期_智能解析本地 ¶
R日期_智能解析本地 自动识别日期时间字符串格式,解析为本地时区的时间。 与 R日期_智能解析 类似,但返回本地时区而非 UTC 时区的时间。
参数:
- 日期文本: 日期时间字符串
返回:
- time.Time: 本地时区的时间对象
- error: 解析失败时返回错误信息
func SafeGet ¶
func SafeGet[K comparable, V any](m map[K]V, key K, defaultVal V) V
SafeGet safely retrieves a value from Map, returns default value if key doesn't exist.
Type Parameters:
- K: key type (must be comparable)
- V: value type
Parameters:
- m: Map to query
- key: key to search for
- defaultVal: default value to return if key doesn't exist
Returns:
- V: value from Map or default value
Example:
m := map[string]int{"a": 1, "b": 2}
SafeGet(m, "a", 0) // 1
SafeGet(m, "c", 0) // 0
func SliceDeduplicate ¶
SliceDeduplicate removes duplicate elements from an integer slice, maintaining original order.
Parameters:
- nums: integer slice to deduplicate
Returns:
- []int: deduplicated integer slice
Example:
SliceDeduplicate([]int{1, 2, 2, 3, 4, 4, 5}) // []int{1, 2, 3, 4, 5}
func SnakeToCamel ¶
SnakeToCamel converts snake_case naming to camelCase (first letter lowercase).
Parameters:
- s: snake_case string to convert
Returns:
- string: camelCase string
Example:
SnakeToCamel("hello_world") // "helloWorld"
SnakeToCamel("user_name") // "userName"
func Sort ¶
func Sort(nums []int)
Sort sorts an integer slice using quick sort (ascending), modifies the original slice.
Parameters:
- nums: integer slice to sort
Example:
nums := []int{5, 2, 8, 1, 9}
Sort(nums)
// nums = []int{1, 2, 5, 8, 9}
func SortDescending ¶
func SortDescending(nums []int)
SortDescending sorts an integer slice using quick sort (descending), modifies the original slice.
Parameters:
- nums: integer slice to sort
Example:
nums := []int{5, 2, 8, 1, 9}
SortDescending(nums)
// nums = []int{9, 8, 5, 2, 1}
func Split ¶
Split splits a string by separator into string slice.
Parameters:
- s: string to split
- sep: separator
Returns:
- []string: split string slice
Example:
Split("a,b,c", ",") // []string{"a", "b", "c"}
func Sqrt ¶
Sqrt calculates the square root of a given number.
Parameters:
- n: number to calculate square root
Returns:
- float64: square root of n
Example:
Sqrt(16) // 4.0 Sqrt(2) // 1.414...
func StringReverse ¶
StringReverse reverses the order of characters in a string.
Parameters:
- s: string to reverse
Returns:
- string: reversed string
Example:
StringReverse("hello") // "olleh"
func Substring ¶
Substring extracts a substring starting from specified position.
Parameters:
- s: source string
- start: start position (inclusive)
Returns:
- string: extracted substring
Example:
Substring("hello world", 6) // "world"
func SubstringLength ¶
SubstringLength extracts a substring of specified length from start position.
Parameters:
- s: source string
- start: start position (inclusive)
- length: extraction length
Returns:
- string: extracted substring
Example:
SubstringLength("hello world", 0, 5) // "hello"
func S三元 ¶
S三元 泛型三元运算符,根据条件返回两个值中的一个。 类似其他语言的 condition ? a : b 语法。
类型参数:
- T: 任意类型
参数:
- value: 条件表达式,true 时返回 string1,false 时返回 string2
- string1: 条件为真时的返回值
- string2: 条件为假时的返回值
返回:
- T: 根据条件选中的值
示例:
S三元(true, "是", "否") // "是" S三元(false, 1, 2) // 2
func S数组_乱序 ¶
func S数组_乱序[T comparable](数组 []T) []T
S数组_乱序 泛型数组随机打乱顺序(Fisher-Yates 洗牌算法)。 返回乱序后的新数组,不修改原数组。
类型参数:
- T: 可比较的类型
参数:
- 数组: 待打乱的数组
返回:
- []T: 乱序后的新数组
func S数组_到文本 ¶
func S数组_到文本(array []interface{}) string
S数组_到文本 将 interface{} 数组转换为逗号分隔的文本。 去除方括号,用逗号替换空格分隔符。
参数:
- array: 待转换的 interface{} 数组
返回:
- string: 逗号分隔的文本
func S数组_去重复 ¶
func S数组_去重复[T comparable](数组 []T) []T
S数组_去重复 泛型数组去重,保持元素首次出现的顺序。
类型参数:
- T: 可比较的类型
参数:
- 数组: 待去重的数组
返回:
- []T: 去重后的新数组
func S数组_反转 ¶
func S数组_反转(反转的数组切片 []interface{})
S数组_反转 原地反转 interface{} 数组的元素顺序。 直接修改传入的切片,无需返回值。
参数:
- 反转的数组切片: 待反转的数组切片指针
func S数组_取文本索引 ¶
S数组_取文本索引 查找文本在字符串数组中的索引位置。
参数:
- 文本数组: 源字符串数组
- 文本: 要查找的文本
返回:
- int: 找到的索引(从 0 开始);未找到返回 -1
func S数组_取随机成员 ¶
S数组_取随机成员 从源数组中随机选取指定数量的成员,不重复选取。 如果请求数量超过数组长度,自动调整为数组长度。
参数:
- 源数组: 候选字符串数组
- 数量: 要选取的成员数量
返回:
- []string: 随机选取的成员数组
func S数组_合并文本 ¶
func S数组_合并文本[T comparable](数组 []T, 连接字符 string) string
S数组_合并文本 泛型数组合并为文本,用指定连接字符连接。 每个元素通过 D到文本 转换为字符串后拼接。
类型参数:
- T: 可比较的类型
参数:
- 数组: 待合并的泛型数组
- 连接字符: 元素之间的连接符
返回:
- string: 合并后的文本
func S数组_是否为空 ¶
S数组_是否为空 判断字符串数组是否为空或所有元素都是空白字符串。 空数组返回 true,所有元素均为空格/空串也返回 true。
参数:
- list: 待判断的字符串数组
返回:
- bool: true 表示数组为空或全为空白
func S数组_是否存在 ¶
func S数组_是否存在[T comparable](数组 []T, 元素 T) bool
S数组_是否存在 泛型检查数组中是否包含指定元素。
类型参数:
- T: 可比较的类型
参数:
- 数组: 源数组
- 元素: 要查找的元素
返回:
- bool: true 表示存在
func S时间_取HTTP网络时间 ¶
S时间_取HTTP网络时间 通过 HTTP 请求从世界时间 API 获取网络时间。 适用于 NTP 端口被封锁但 HTTP 可用的网络环境。
返回:
- time.Time: 网络标准时间;获取失败返回零值
func S时间_取本地与网络时差 ¶
S时间_取本地与网络时差 获取本地时间与网络时间的差值(秒)。 正值表示本地时间快于网络时间,负值表示本地时间慢于网络时间。
参数:
- 服务器: NTP 服务器地址;空字符串使用默认服务器
返回:
- int64: 时差(秒);获取失败返回 0
func S时间_取现行时间 ¶
func S时间_取现行时间() string
S时间_取现行时间 获取当前系统日期和时间,格式为 "2006-01-02 15:04:05"。
返回:
- string: 格式化的当前时间字符串
func S时间_取现行时间戳13 ¶
func S时间_取现行时间戳13() int64
S时间_取现行时间戳13 获取当前时间的 13 位毫秒级时间戳。
返回:
- int64: 13 位毫秒级时间戳
func S时间_取网络时间 ¶
S时间_取网络时间 通过 NTP 协议从指定 NTP 服务器获取网络标准时间。 使用 SNTP 协议(RFC 4330)与 NTP 服务器通信,获取精确的网络时间。
参数:
- 服务器: NTP 服务器地址,如 "ntp.aliyun.com"、"time.windows.com";空字符串使用默认服务器
返回:
- time.Time: 网络标准时间;获取失败返回零值
func S时间_取网络时间戳 ¶
S时间_取网络时间戳 通过 NTP 协议获取网络标准时间的 10 位秒级时间戳。
参数:
- 服务器: NTP 服务器地址;空字符串使用默认服务器
返回:
- int64: 10 位秒级时间戳;获取失败返回 0
func S时间_取网络时间文本 ¶
S时间_取网络时间文本 通过 NTP 协议获取网络标准时间并格式化为文本。
参数:
- 服务器: NTP 服务器地址;空字符串使用默认服务器
返回:
- string: 格式为 "2006-01-02 15:04:05" 的网络时间字符串;获取失败返回空字符串
func S时间_文本到时间戳 ¶
S时间_文本到时间戳 将时间文本转换为 10 位 Unix 时间戳(秒)。 使用本地时区解析,格式必须为 "2006-01-02 15:04:05"。
参数:
- 时间文本: 格式为 "2006-01-02 15:04:05" 的时间字符串
返回:
- int: 10 位 Unix 时间戳;解析失败返回 0
func S时间_时间到时间戳 ¶
S时间_时间到时间戳 将格式化的时间字符串转换为 10 位秒级时间戳。 使用 UTC 时区解析,与 S时间_文本到时间戳(本地时区)可能有时区差异。
参数:
- 时间: 格式为 "2006-01-02 15:04:05" 的时间字符串
返回:
- int64: 10 位秒级时间戳;解析失败返回 0
func S时间_时间戳13到时间 ¶
S时间_时间戳13到时间 将 13 位毫秒级时间戳转换为格式化的时间字符串。
参数:
- 时间戳: 13 位毫秒级时间戳
返回:
- string: 格式为 "2006-01-02 15:04:05" 的时间字符串
func S时间_时间戳到时间 ¶
S时间_时间戳到时间 将 10 位秒级时间戳转换为格式化的时间字符串。
参数:
- 时间戳: 10 位秒级时间戳
返回:
- string: 格式为 "2006-01-02 15:04:05" 的时间字符串
func S时间_时间戳格式化 ¶
S时间_时间戳格式化 使用自定义格式字符串格式化时间戳。 支持的占位符:y/Y=年, m/M=月, d/D=日, h=12小时制, H=24小时制, i=分, s=秒, t=am/pm, T=AM/PM。 时间戳为 0 时使用当前时间。
参数:
- format: 自定义格式字符串(如 "Y-m-d H:i:s")
- 时间戳: 10 位秒级时间戳,0 表示当前时间
返回:
- string: 格式化后的时间字符串
func S时间_秒转时间文本 ¶
S时间_秒转时间文本 将秒数转换为中文可读的时间文本。 例如:3661 → "1时1分1秒",31536000 → "1年"。 只显示非零的时间单位,所有单位为零时显示"0秒"。
参数:
- 秒: 总秒数
返回:
- string: 中文格式的时间文本(如 "1年2月3天4时5分6秒")
func S时间_计算时间差 ¶
S时间_计算时间差 计算两个时间戳之间的时间差,返回中文可读文本。
参数:
- 开始时间戳: 10 位秒级时间戳
- 结束时间戳: 10 位秒级时间戳
返回:
- string: 中文格式的时间差文本(如 "1时2分3秒")
func S是否为数组 ¶
func S是否为数组(通用型变量 interface{}) bool
S是否为数组 判断通用型变量是否为数组或切片类型。 使用反射检查值的 Kind 是否为 Array 或 Slice。
参数:
- 通用型变量: 待判断的值
返回:
- bool: true 表示是数组/切片类型
func TakeFirstN ¶
TakeFirstN gets the first N elements from a slice.
Type Parameters:
- T: any type
Parameters:
- slice: source slice
- n: number of elements to get
Returns:
- []T: first N elements
Example:
TakeFirstN([]int{1, 2, 3, 4, 5}, 3) // []int{1, 2, 3}
func TakeLastN ¶
TakeLastN gets the last N elements from a slice.
Type Parameters:
- T: any type
Parameters:
- slice: source slice
- n: number of elements to get
Returns:
- []T: last N elements
Example:
TakeLastN([]int{1, 2, 3, 4, 5}, 3) // []int{3, 4, 5}
func ToLower ¶
ToLower converts a string to lowercase.
Parameters:
- s: string to convert
Returns:
- string: lowercase string
Example:
ToLower("Hello World") // "hello world"
func ToUpper ¶
ToUpper converts a string to uppercase.
Parameters:
- s: string to convert
Returns:
- string: uppercase string
Example:
ToUpper("Hello World") // "HELLO WORLD"
func TrimLeft ¶
TrimLeft removes all leading spaces from a string.
Parameters:
- s: string to process
Returns:
- string: string with leading spaces removed
Example:
TrimLeft(" hello world") // "hello world"
func TrimRight ¶
TrimRight removes all trailing spaces from a string.
Parameters:
- s: string to process
Returns:
- string: string with trailing spaces removed
Example:
TrimRight("hello world ") // "hello world"
func TrimSpace ¶
TrimSpace removes leading and trailing spaces from a string.
Parameters:
- s: string to process
Returns:
- string: string with leading/trailing spaces removed
Example:
TrimSpace(" hello world ") // "hello world"
func T图片_从字节读取 ¶
T图片_从字节读取 从字节切片读取图片,自动识别格式。
参数:
- 数据: 图片的字节数据
返回:
- image.Image: 解码后的图片对象
- error: 解码失败时返回错误
func T图片_从读取器读取 ¶
T图片_从读取器读取 从 io.Reader 读取图片,自动识别格式。
参数:
- 读取器: 实现 io.Reader 接口的读取器
返回:
- image.Image: 解码后的图片对象
- string: 识别到的图片格式(如 "png"、"jpeg")
- error: 解码失败时返回错误
func T图片_伽马校正 ¶
T图片_伽马校正 对图片进行伽马校正。
参数:
- 图片: 原始图片
- 伽马值: 伽马校正值;1.0 为原始值,<1 变亮,>1 变暗
返回:
- image.Image: 校正后的图片
func T图片_保存 ¶
T图片_保存 保存图片到文件,根据文件扩展名自动选择格式。 支持的扩展名:.png、.jpg/.jpeg、.gif、.bmp、.tiff/.tif
参数:
- 图片: 要保存的图片对象
- 文件路径: 保存路径(含扩展名)
返回:
- error: 保存失败时返回错误
func T图片_保存JPEG ¶
T图片_保存JPEG 将图片保存为 JPEG 格式。
参数:
- 图片: 要保存的图片对象
- 文件路径: 保存路径
- 质量: JPEG 压缩质量(1-100),推荐 75-85
返回:
- error: 保存失败时返回错误
func T图片_创建纯色图 ¶
T图片_创建纯色图 创建指定尺寸和颜色的纯色图片。
参数:
- 宽度: 图片宽度(像素)
- 高度: 图片高度(像素)
- 颜色值: 填充颜色
返回:
- image.Image: 纯色图片
func T图片_取像素RGBA ¶
T图片_取像素RGBA 获取指定坐标的 RGBA 颜色分量(0-255)。
参数:
- 图片: 图片对象
- x: 像素 X 坐标
- y: 像素 Y 坐标
返回:
- uint32: 红色分量(0-255)
- uint32: 绿色分量(0-255)
- uint32: 蓝色分量(0-255)
- uint32: 透明度分量(0-255)
func T图片_取像素颜色 ¶
T图片_取像素颜色 获取指定坐标的像素颜色。
参数:
- 图片: 图片对象
- x: 像素 X 坐标(从左到右,从 0 开始)
- y: 像素 Y 坐标(从上到下,从 0 开始)
返回:
- color.Color: 像素颜色
func T图片_叠加 ¶
T图片_叠加 将上层图片叠加到底层图片的指定位置。
参数:
- 底图: 底层图片
- 上层图: 上层图片
- x: 叠加位置 X 坐标
- y: 叠加位置 Y 坐标
返回:
- image.Image: 叠加后的图片
func T图片_叠加带透明度 ¶
T图片_叠加带透明度 将上层图片以指定透明度叠加到底层图片。
参数:
- 底图: 底层图片
- 上层图: 上层图片
- x: 叠加位置 X 坐标
- y: 叠加位置 Y 坐标
- 透明度: 叠加透明度(0-1)
返回:
- image.Image: 叠加后的图片
func T图片_居中裁剪 ¶
T图片_居中裁剪 从图片中心裁剪出指定尺寸的区域。
参数:
- 图片: 原始图片
- 宽度: 裁剪宽度(像素)
- 高度: 裁剪高度(像素)
返回:
- image.Image: 裁剪后的图片
func T图片_拼接垂直 ¶
T图片_拼接垂直 将多张图片垂直拼接成一张。 所有图片按第一张的宽度等比缩放后拼接。
参数:
- 图片列表: 要拼接的图片切片
返回:
- image.Image: 拼接后的图片
func T图片_拼接水平 ¶
T图片_拼接水平 将多张图片水平拼接成一张。 所有图片按第一张的高度等比缩放后拼接。
参数:
- 图片列表: 要拼接的图片切片
返回:
- image.Image: 拼接后的图片
func T图片_添加水印 ¶
func T图片_添加水印(底图 image.Image, 水印图 image.Image, 位置 string, 偏移X int, 偏移Y int, 透明度 float64) image.Image
T图片_添加水印 在图片上添加半透明水印。 水印图片将被缩放到指定尺寸后叠加到目标位置。
参数:
- 底图: 底层图片
- 水印图: 水印图片
- 位置: 水印位置("左上"/"右上"/"左下"/"右下"/"居中")
- 偏移X: 水印相对位置的 X 偏移(像素)
- 偏移Y: 水印相对位置的 Y 偏移(像素)
- 透明度: 水印透明度(0-1),0 完全透明,1 完全不透明
返回:
- image.Image: 添加水印后的图片
func T图片_生成二维码 ¶
T图片_生成二维码 生成二维码图片并保存到文件。
参数:
- 内容: 二维码编码内容
- 文件路径: 保存路径(PNG 格式)
- 尺寸: 二维码图片尺寸(像素),推荐 256
返回:
- error: 生成失败时返回错误
func T图片_生成二维码base64 ¶
T图片_生成二维码base64 生成指定内容的二维码图片,并返回 Base64 编码字符串。 二维码大小为 256x256 像素,容错等级为 Medium。 返回的 Base64 字符串可直接用于 HTML img 标签的 src 属性。
参数:
- 内容: 二维码中编码的内容文本
返回:
- string: Base64 编码的 PNG 图片字符串;生成失败返回空串
func T图片_生成二维码到写入器 ¶
T图片_生成二维码到写入器 将二维码图片写入 io.Writer。
参数:
- 内容: 二维码编码内容
- 写入器: 实现 io.Writer 接口的对象
- 尺寸: 二维码图片尺寸(像素)
返回:
- error: 生成失败时返回错误
func T图片_生成二维码自定义 ¶
T图片_生成二维码自定义 生成自定义参数的二维码图片对象。
参数:
- 内容: 二维码编码内容
- 容错等级: 容错级别(1=Low, 2=Medium, 3=Quartile, 4=High)
- 尺寸: 二维码图片尺寸(像素)
返回:
- image.Image: 二维码图片对象
- error: 生成失败时返回错误
func T图片_缩放 ¶
T图片_缩放 将图片缩放到指定尺寸。 使用 Lanczos 滤镜进行高质量缩放。
参数:
- 图片: 原始图片
- 宽度: 目标宽度(像素),传 0 则按高度等比缩放
- 高度: 目标高度(像素),传 0 则按宽度等比缩放
返回:
- image.Image: 缩放后的图片
func T图片_缩略图 ¶
T图片_缩略图 生成缩略图,将图片等比缩放并裁剪到指定尺寸。 与 T图片_缩放 不同,此函数会裁剪多余部分以确保输出尺寸精确。
参数:
- 图片: 原始图片
- 宽度: 缩略图宽度(像素)
- 高度: 缩略图高度(像素)
返回:
- image.Image: 缩略图
func T图片_裁剪 ¶
T图片_裁剪 裁剪图片到指定矩形区域。
参数:
- 图片: 原始图片
- 左: 裁剪区域左边界 X 坐标
- 上: 裁剪区域上边界 Y 坐标
- 右: 裁剪区域右边界 X 坐标
- 下: 裁剪区域下边界 Y 坐标
返回:
- image.Image: 裁剪后的图片
func T图片_设置透明度 ¶
T图片_设置透明度 设置图片整体透明度。
参数:
- 图片: 原始图片
- 透明度: 透明度(0-1),0 完全透明,1 完全不透明
返回:
- image.Image: 调整后的图片
func T图片_读取 ¶
T图片_读取 从文件读取图片,自动识别格式(PNG/JPEG/GIF/BMP/TIFF)。
参数:
- 文件路径: 图片文件的完整路径
返回:
- image.Image: 解码后的图片对象
- error: 读取失败时返回错误
func T图片_读取Base64 ¶
T图片_读取Base64 从 Base64 编码字符串读取图片,自动识别格式。 支持带 data:image/xxx;base64, 前缀的字符串。
参数:
- base64文本: Base64 编码的图片字符串
返回:
- image.Image: 解码后的图片对象
- error: 解码失败时返回错误
func T图片_调整亮度 ¶
T图片_调整亮度 调整图片亮度。
参数:
- 图片: 原始图片
- 亮度: 亮度调整值,范围 -100 到 100;负值变暗,正值变亮
返回:
- image.Image: 调整后的图片
func T图片_调整对比度 ¶
T图片_调整对比度 调整图片对比度。
参数:
- 图片: 原始图片
- 对比度: 对比度调整值,范围 -100 到 100;负值降低,正值增强
返回:
- image.Image: 调整后的图片
func T图片_调整色相 ¶
T图片_调整色相 调整图片色相。 通过 HSL 色彩空间进行色相偏移。
参数:
- 图片: 原始图片
- 色相: 色相偏移值,范围 -180 到 180
返回:
- image.Image: 调整后的图片
func T图片_调整饱和度 ¶
T图片_调整饱和度 调整图片饱和度。
参数:
- 图片: 原始图片
- 饱和度: 饱和度调整值,范围 -100 到 100;负值降低,正值增强
返回:
- image.Image: 调整后的图片
func T图片_转Base64 ¶
T图片_转Base64 将图片转换为 Base64 编码字符串。
参数:
- 图片: 图片对象
- 格式: 图片格式,如 "png"、"jpeg"、"gif"
返回:
- string: Base64 编码字符串
- error: 编码失败时返回错误
func T图片_转DataURI ¶
T图片_转DataURI 将图片转换为 Data URI 格式字符串。 可直接用于 HTML img 标签的 src 属性。
参数:
- 图片: 图片对象
- 格式: 图片格式,如 "png"、"jpeg"、"gif"
返回:
- string: Data URI 字符串,如 "data:image/png;base64,xxx"
- error: 编码失败时返回错误
func T图片_转字节 ¶
T图片_转字节 将图片编码为字节切片。
参数:
- 图片: 图片对象
- 格式: 图片格式,如 "png"、"jpeg"、"gif"
返回:
- []byte: 编码后的字节数据
- error: 编码失败时返回错误
func T模板_写入 ¶
T模板_写入 将模板替换结果写入指定的 io.Writer。 适用于输出到文件、网络连接等场景,避免生成中间字符串。
参数:
- 模板文本: 包含占位符的模板字符串
- 写入器: 实现了 io.Writer 接口的对象
- 标签: 占位符名到替换值的映射
返回:
- int64: 写入的字节数
- error: 模板语法错误或写入失败时返回
func T模板_创建 ¶
T模板_创建 创建可重复使用的模板对象。 适用于需要多次执行同一模板的场景,避免重复解析模板。
参数:
- 模板文本: 包含占位符的模板字符串
- 起始标记: 占位符的起始标记
- 结束标记: 占位符的结束标记
返回:
- *fasttemplate.Template: 模板对象,可重复调用 ExecuteString
- error: 模板语法错误时返回
func T模板_执行 ¶
T模板_执行 使用 fasttemplate 执行模板替换。 模板中使用 {占位符} 格式的占位符,通过标签映射替换为实际值。 相比 strings.Replace 和 fmt.Sprintf,fasttemplate 在高频调用时性能更优。
参数:
- 模板文本: 包含占位符的模板字符串,占位符格式为 {key}
- 标签: 占位符名到替换值的映射,如 {"name": "张三", "age": "25"}
返回:
- string: 替换后的结果字符串
- error: 模板语法错误时返回
func T模板_执行自定义分隔符 ¶
T模板_执行自定义分隔符 使用自定义分隔符执行模板替换。 可自定义占位符的起始和结束标记,如 {{ 和 }} 或 <% 和 %>。
参数:
- 模板文本: 包含占位符的模板字符串
- 起始标记: 占位符的起始标记,如 "{{"
- 结束标记: 占位符的结束标记,如 "}}"
- 标签: 占位符名到替换值的映射
返回:
- string: 替换后的结果字符串
- error: 模板语法错误时返回
func T模板_替换 ¶
T模板_替换 简单的模板替换,使用默认 {key} 格式。 是 T模板_执行 的简化版本,忽略错误直接返回结果。
参数:
- 模板文本: 包含占位符的模板字符串
- 标签: 占位符名到替换值的映射
返回:
- string: 替换后的结果字符串;出错时返回原模板文本
func Utf8到文本 ¶
Utf8到文本 将 UTF-8 编码的字符串转换为 GBK 编码。 使用 golang.org/x/text 库进行编码转换,转换失败时返回原字符串。
参数:
- src: UTF-8 编码的源字符串
返回:
- string: GBK 编码的字符串;失败时返回原字符串
func V校验_取结构体标签 ¶
V校验_取结构体标签 获取结构体字段的 validate 标签值。 用于调试和日志,查看字段绑定的校验规则。
参数:
- 结构体: 结构体实例
- 字段名: 字段名称
返回:
- string: validate 标签的值;字段不存在或无标签时返回空串
func V校验_取错误信息 ¶
V校验_取错误信息 从验证错误中提取可读的错误信息。 将 validator.ValidationErrors 转换为中文友好的错误描述。
参数:
- 错误: V校验_验证结构体 返回的错误
返回:
- string: 格式化的错误信息,如 "字段 Email 验证 required 失败"
func V校验_是IP ¶
V校验_是IP 验证字符串是否为有效的 IP 地址(支持 IPv4 和 IPv6)。
参数:
- ip: 待验证的 IP 地址字符串
返回:
- bool: true 表示是有效的 IP 地址
func V校验_是JSON ¶
V校验_是JSON 验证字符串是否为有效的 JSON 格式。
参数:
- json文本: 待验证的 JSON 字符串
返回:
- bool: true 表示是有效的 JSON 格式
func V校验_注册自定义验证 ¶
func V校验_注册自定义验证(规则名 string, 验证函数 func(fl validator.FieldLevel) bool) error
V校验_注册自定义验证 注册自定义的验证函数。 注册后可在标签中使用自定义的验证规则名。
参数:
- 规则名: 自定义验证规则的名称,如 "phone"
- 验证函数: 验证函数,接收字段值返回是否通过
返回:
- error: 注册失败时返回错误
func V校验_验证变量 ¶
V校验_验证变量 验证单个变量的值是否符合标签约束。 适用于不需要定义结构体的简单校验场景。
参数:
- 变量: 待验证的变量值
- 标签: 校验规则标签,如 "required,email"、"min=1,max=100"
返回:
- error: 验证失败时返回错误信息;通过时返回 nil
func V校验_验证字段 ¶
V校验_验证字段 验证结构体中指定字段的值。 仅验证单个字段,不验证整个结构体。
参数:
- 结构体: 包含待验证字段的结构体
- 字段名: 要验证的字段名(结构体中的字段名,非 JSON 名)
- 标签: 校验规则标签
返回:
- error: 验证失败时返回错误信息
func V校验_验证结构体 ¶
func V校验_验证结构体(结构体 interface{}) error
V校验_验证结构体 验证结构体字段的标签约束。 结构体字段需使用 validate 标签定义校验规则,如 `validate:"required,email"`。 常用标签: required(必填), email(邮箱), min/max(最小/最大值), len(长度), oneof(枚举值)。
参数:
- 结构体: 待验证的结构体实例(非指针)
返回:
- error: 验证失败时返回详细的字段错误信息;通过时返回 nil
func W文件_保存 ¶
W文件_保存 智能保存文件,仅在内容不同时才写入。 先检查文件是否存在,如果存在则比较内容是否一致,不一致才写出。 避免不必要的磁盘写入操作。
参数:
- 文件名: 目标文件路径
- 欲写入文件的数据: 待写入的数据
返回:
- error: 写入失败时返回错误信息;内容相同时返回 nil
func W文件_写出 ¶
W文件_写出 将数据写入文件,父目录不存在时自动创建。 数据通过 D到字节集 转换为字节集后写入,文件权限为可执行权限。
参数:
- 文件名: 目标文件路径
- 欲写入文件的数据: 待写入的数据(支持字符串、字节集等类型)
返回:
- error: 写入失败时返回错误信息
func W文件_写出文件 ¶
W文件_写出文件 W文件_写出 的别名,为使用习惯添加。 功能与 W文件_写出 完全相同。
参数:
- 文件名: 目标文件路径
- 欲写入文件的数据: 待写入的数据
返回:
- error: 写入失败时返回错误信息
func W文件_写到文件 ¶
W文件_写到文件 将字节数据写入文件。 如果父目录不存在,会自动创建。文件权限为 0644。
参数:
- 文件名: 目标文件路径
- 欲写入文件的数据: 待写入的字节数据
返回:
- error: 写入失败时返回错误信息
func W文件_取临时文件名 ¶
W文件_取临时文件名 在指定目录中创建一个临时文件,返回文件对象和路径。 如果目录名为空,使用系统默认临时目录。
参数:
- 目录名: 临时文件所在目录,可为空
返回:
- f: 临时文件对象
- filepath: 临时文件的完整路径
- err: 创建失败时的错误信息
func W文件_枚举 ¶
W文件_枚举 枚举指定目录下的文件,支持按扩展名过滤和递归遍历。 结果通过指针参数返回,会追加到现有数组中。
参数:
- 欲寻找的目录: 要枚举的根目录路径
- 欲寻找的文件名: 文件扩展名过滤,多个用 | 分隔(如 ".txt|.jpg"),空表示所有文件
- files: 用于接收结果的字符串数组指针
- 是否带路径: true 返回完整路径,false 仅返回文件名
- 是否遍历子目录: true 递归遍历子目录
返回:
- error: 枚举过程中遇到的错误
func W文件_路径合并处理 ¶
W文件_路径合并处理 将多个路径元素合并为一个路径。 使用 path.Join 处理路径分隔符。
参数:
- elem: 路径元素列表
返回:
- string: 合并后的路径
func W文件_追加文本 ¶
W文件_追加文本 向文件末尾追加文本内容,自动添加换行符。 文件不存在时自动创建,父目录不存在时自动创建。
参数:
- 文件名: 目标文件路径
- 欲追加的文本: 要追加的文本内容
返回:
- error: 追加失败时返回错误信息
func W文本_gbk到utf8 ¶
W文本_gbk到utf8 将 GBK 编码的字符串转换为 UTF-8 编码。 使用 mahonia 库进行编码转换。
参数:
- src: GBK 编码的源字符串
返回:
- string: UTF-8 编码的字符串
func W文本_utf8到gbk ¶
W文本_utf8到gbk 将 UTF-8 编码的字符串转换为 GBK 编码。 使用 mahonia 库进行编码转换。
参数:
- src: UTF-8 编码的源字符串
返回:
- string: GBK 编码的字符串
func W文本_倒取出中间文本 ¶
W文本_倒取出中间文本 从文本末尾开始搜索,提取左右标记之间的中间文本。 与 W文本_取出中间文本 不同,此函数从右向左搜索标记位置。 例如:"0012345" 中,右边文本为 "4",左边文本为 "0",则返回 "123"。
参数:
- 欲取全文本: 完整的源文本
- 右边文本: 中间文本右侧的标记文本
- 左边文本: 中间文本左侧的标记文本
- 倒数搜寻位置: 搜索右边文本的起始位置(从右往左),0 或负数表示从末尾开始
- 是否不区分大小写: true 时不区分大小写搜索
返回:
- string: 提取的中间文本;未找到标记时返回空串
func W文本_倒找文本 ¶
W文本_倒找文本 从后往前查找指定文本的位置。 返回最后一次出现的位置。
参数:
- 被搜寻的文本: 被搜索的文本
- 欲寻找的文本: 要查找的文本
返回:
- int: 找到的位置(字节偏移,从 0 开始);未找到返回 -1
func W文本_分割文本 ¶
W文本_分割文本 按指定分隔符将文本分割为字符串数组。 等同于 strings.Split。
参数:
- 待分割文本: 待分割的文本
- 用作分割的文本: 分隔符
返回:
- []string: 分割后的字符串数组
func W文本_删除指定文本行 ¶
W文本_删除指定文本行 删除源文本中指定行号的整行文本。 行号从 0 开始计数。
参数:
- 源文本: 多行文本
- 行数: 要删除的行号(从 0 开始)
返回:
- string: 删除指定行后的文本
func W文本_删除空行 ¶
W文本_删除空行 删除文本中的空行。 移除文本首尾的换行符,以及每行开头的 \r 和末尾的 \n。
参数:
- 要操作的文本: 源文本
返回:
- string: 删除空行后的文本
func W文本_删首尾空 ¶
W文本_删首尾空 去除文本首尾的空白字符(空格、制表符、换行等)。 等同于 strings.TrimSpace。
参数:
- 内容: 源文本
返回:
- string: 去除首尾空白后的文本
func W文本_去重复文本 ¶
W文本_去重复文本 去除文本中重复的元素。 按指定分隔符分割后去重,保持元素首次出现的顺序。
参数:
- 原文本: 源文本
- 分割符: 元素之间的分隔符,为空时按字符去重
返回:
- string: 去重后用分隔符连接的文本
func W文本_去除敏感信息 ¶
W文本_去除敏感信息 对文本进行脱敏处理,将中间一半的字符替换为 *。 长度小于等于 2 时,仅保留第一个字符;长度大于 2 时,中间一半替换为 *。 使用 rune 处理,中文安全。
参数:
- 内容: 待脱敏的文本
返回:
- string: 脱敏后的文本,如 "张**"、"138****1234"
func W文本_取出中间文本 ¶
W文本_取出中间文本 从文本中提取左右标记之间的中间文本(首次匹配)。 从左向右搜索,返回第一个匹配结果。
参数:
- 内容: 源文本
- 左边文本: 中间文本左侧的标记
- 右边文本: 中间文本右侧的标记,为空时取到文本末尾
返回:
- string: 提取的中间文本;未找到标记时返回空串
func W文本_取出中间文本_批量正则 ¶
W文本_取出中间文本_批量正则 使用正则表达式批量提取左右标记之间的所有中间文本。 左右标记会自动进行正则转义,中间部分使用非贪婪匹配。
参数:
- 内容: 源文本
- 左边文本: 中间文本左侧的标记
- 右边文本: 中间文本右侧的标记
返回:
- []string: 所有匹配的中间文本数组
func W文本_取右边 ¶
W文本_取右边 从文本右侧截取指定字符数的子串。 使用 rune 截取,中文安全,每个中文算一个字符。
参数:
- 欲取其部分的文本: 源文本
- 欲取出字符的数目: 截取的字符数
返回:
- string: 右侧指定字符数的文本;请求数超过长度时返回原文本
func W文本_取左边 ¶
W文本_取左边 从文本左侧截取指定字符数的子串。 使用 rune 截取,中文安全,每个中文算一个字符。
参数:
- 欲取其部分的文本: 源文本
- 欲取出字符的数目: 截取的字符数
返回:
- string: 左侧指定字符数的文本;请求数超过长度时返回原文本
func W文本_取指定变量文本行 ¶
W文本_取指定变量文本行 获取多行文本中指定行号的内容。 行号从 1 开始计数。
参数:
- 文本: 多行文本
- 行号: 要获取的行号(从 1 开始)
返回:
- string: 指定行的文本;行号越界时返回空串
func W文本_取文本右边 ¶
W文本_取文本右边 获取关键字右侧的文本(不含关键字)。 按字节截取,注意中文占多个字节。
参数:
- 内容: 源文本
- 关键字: 分隔关键字
返回:
- string: 关键字右侧的文本;未找到返回空串
func W文本_取文本右边2 ¶
W文本_取文本右边2 从文本右侧截取指定关键字之后的内容。 支持从指定位置开始搜索,可选择是否区分大小写。
参数:
- 被查找的文本: 源文本
- 欲寻找的文本: 分隔关键字
- 起始寻找位置: 搜索起始位置,0 表示从末尾开始
- 是否不区分大小写: true 时不区分大小写
返回:
- string: 关键字右侧的文本;未找到返回空串
func W文本_取文本右边_带关键字 ¶
W文本_取文本右边_带关键字 获取关键字右侧的文本(不含关键字)。 功能与 W文本_取文本右边 相同,为使用习惯提供别名。
参数:
- 内容: 源文本
- 关键字: 分隔关键字
返回:
- string: 关键字右侧的文本;未找到返回空串
func W文本_取文本左边 ¶
W文本_取文本左边 获取关键字左侧的文本(不含关键字)。 按字节截取,注意中文占多个字节。
参数:
- 内容: 源文本
- 关键字: 分隔关键字
返回:
- string: 关键字左侧的文本;未找到返回空串
func W文本_取文本左边2 ¶
W文本_取文本左边2 获取关键字左侧的文本(含关键字本身)。
参数:
- 内容: 源文本
- 关键字: 分隔关键字
返回:
- string: 关键字及其左侧的文本;未找到返回空串
func W文本_取文本所在行 ¶
W文本_取文本所在行 查找指定文本在源文本中的行号。 按换行符 \n 分割源文本,返回第一次匹配的行号。
参数:
- 源文本: 被搜索的多行文本
- 欲查找的文本: 要查找的文本
- 是否区分大小写: 当前未使用,始终区分大小写
返回:
- int: 行号(从 0 开始);未找到返回 0
func W文本_取长度 ¶
W文本_取长度 获取文本的字符数(非字节数)。 中文占多个字节但算一个字符长度,使用 utf8.RuneCountInString 实现。
参数:
- value: 源文本
返回:
- int: 字符数
func W文本_取随机IP ¶
func W文本_取随机IP() string
W文本_取随机IP 生成一个随机的公网 IP 地址。 从预定义的 IP 段中随机选取,确保生成的 IP 属于公网地址范围。
返回:
- string: 随机 IP 地址,如 "203.0.113.42";生成失败返回 "0.0.0.0"
func W文本_取随机ip ¶
func W文本_取随机ip() string
W文本_取随机ip 生成一个随机的 IP 地址。 每段为 0-254 之间的随机数,可能生成保留地址。
返回:
- string: 随机 IP 地址,如 "192.168.1.1"
func W文本_取随机字符串 ¶
W文本_取随机字符串 生成指定长度的随机字符串。 字符集包含大小写字母和数字,首位不会为 '0'。
参数:
- 字符串长度: 生成的字符串长度
返回:
- string: 随机字符串
func W文本_取随机字符串_数字 ¶
W文本_取随机字符串_数字 生成指定长度的随机数字字符串。 字符集仅包含数字 1-9 和 0,首位不会为 '0'。
参数:
- 字符串长度: 生成的字符串长度
返回:
- string: 随机数字字符串
func W文本_取随机数字数组 ¶
W文本_取随机数字数组 生成指定数量的不重复随机数字字符串数组。 数字范围在 [最小值, 最大值) 之间。
参数:
- 最小值: 随机数的最小值(包含)
- 最大值: 随机数的上限(不包含)
- 数量: 要生成的数字数量
返回:
- []string: 不重复的随机数字字符串数组
func W文本_取随机范围数字 ¶
W文本_取随机范围数字 生成指定范围内的随机数字字符串。 可选择只生成奇数或偶数。
参数:
- 起始数: 最小值(包含)
- 结束数: 最大值(包含)
- 单双选择: 0=不限, 1=只取奇数, 2=只取偶数
返回:
- string: 随机数字字符串
func W文本_子文本替换 ¶
W文本_子文本替换 将源文本中所有匹配的子文本替换为新子文本。 全部替换,等同于 strings.Replace 的 -1 模式。
参数:
- 欲被替换的文本: 原始文本
- 欲被替换的子文本: 要被替换的子串
- 用作替换的子文本: 替换后的子串
返回:
- string: 替换后的文本
func W文本_字符 ¶
W文本_字符 将字节值转换为对应的单字符字符串。 等同于 string(byte(字节型))。
参数:
- 字节型: ASCII 字符代码(-128 到 127)
返回:
- string: 对应的单字符字符串
func W文本_寻找 ¶
W文本_寻找 在源文本中查找指定文本的位置。
参数:
- 源文本: 被搜索的文本
- 要寻找的文本: 要查找的文本
返回:
- int: 找到的位置(字节偏移,从 0 开始);未找到返回 -1
func W文本_寻找文本 ¶
W文本_寻找文本 在源文本中查找指定文本的位置。 从左向右搜索,返回第一次出现的位置。
参数:
- 被搜寻的文本: 被搜索的文本
- 欲寻找的文本: 要查找的文本
返回:
- int: 找到的位置(字节偏移,从 0 开始);未找到返回 -1
func W文本_是否JSON ¶
W文本_是否JSON 检查字符串是否为有效的 JSON 对象格式。 仅检查是否为 {"key": "value"} 格式的 JSON 对象,不检查 JSON 数组。
参数:
- s: 待检查的字符串
返回:
- bool: 是有效的 JSON 对象返回 true,否则返回 false
func W文本_是否为字母 ¶
W文本_是否为字母 检查字符串是否仅包含字母字符(含中文等 Unicode 字母)。
参数:
- s: 待检查的字符串
返回:
- bool: 仅包含字母返回 true,否则返回 false
func W文本_是否为数字 ¶
W文本_是否为数字 检查字符串是否仅包含数字字符(含 Unicode 数字)。
参数:
- s: 待检查的字符串
返回:
- bool: 仅包含数字返回 true,否则返回 false
func W文本_是否为英数字母 ¶
W文本_是否为英数字母 检查字符串是否仅包含英文字母和数字。
参数:
- s: 待检查的字符串
返回:
- bool: 仅包含英文字母和数字返回 true,否则返回 false
func W文本_是否包含关键字 ¶
W文本_是否包含关键字 检查内容中是否包含指定关键字。 关键字为空时直接返回 true。
参数:
- 内容: 被搜索的文本
- 关键字: 要查找的关键字
返回:
- bool: 包含返回 true,否则返回 false
func W文本_是否存在 ¶
W文本_是否存在 检查内容中是否包含指定关键字。 功能与 W文本_是否包含关键字 相同,为使用习惯提供别名。
参数:
- 内容: 被搜索的文本
- 关键字: 要查找的关键字
返回:
- bool: 包含返回 true,否则返回 false
func W文本_是否存在_任意 ¶
W文本_是否存在_任意 检查内容中是否包含关键字数组中的任意一个。 只要有一个关键字匹配即返回 true。
参数:
- 内容: 被搜索的文本
- 关键字: 要查找的关键字数组
返回:
- bool: 任意一个关键字存在返回 true,全部不存在返回 false
func W文本_是否存在_同时 ¶
W文本_是否存在_同时 检查内容中是否同时包含关键字数组中的所有关键字。 所有关键字都必须存在才返回 true。
参数:
- 内容: 被搜索的文本
- 关键字: 要查找的关键字数组
返回:
- bool: 所有关键字都存在返回 true,任一不存在返回 false
func W文本_替换 ¶
W文本_替换 将源文本中所有匹配的旧文本替换为新文本。 全部替换,等同于 strings.Replace 的 -1 模式。
参数:
- 源文本: 原始文本
- 旧文本: 要被替换的子串
- 新文本: 替换后的子串
返回:
- string: 替换后的文本
func W文本_替换2 ¶
W文本_替换2 使用 map 批量替换文本中的多个子串。 map 的键为旧文本,值为新文本。 注意:当前实现每次替换都从原始源文本开始,可能导致后续替换覆盖前面的结果。
参数:
- 源文本: 原始文本
- 替换内容: 替换映射,key=旧文本,value=新文本
返回:
- string: 替换后的文本
func W文本_颠倒 ¶
W文本_颠倒 将文本内容反转。 带有中文时按双字节反转(适用于 GBK 编码),否则按 Unicode 字符反转。
参数:
- 欲转换文本: 待反转的文本
- 带有中文: true 时按双字节反转,false 时按 Unicode 字符反转
返回:
- string: 反转后的文本
func W文本到utf8 ¶
W文本到utf8 将 GBK 编码的字符串转换为 UTF-8 编码。 使用 golang.org/x/text 库进行编码转换,转换失败时返回原字符串。
参数:
- src: GBK 编码的源字符串
返回:
- string: UTF-8 编码的字符串;失败时返回原字符串
func W网页_Cookie合并更新 ¶
W网页_Cookie合并更新 将新 Cookie 合并到旧 Cookie 中。 合并规则:旧 Cookie 中与新 Cookie 同名的项会被新值覆盖, 旧 Cookie 中独有的项保留,值为 "=deleted" 的项会被移除, 最后去除重复的分号。
参数:
- 旧Cookie: 原有的 Cookie 字符串
- 新Cookie: 新获取的 Cookie 字符串
返回:
- string: 合并后的 Cookie 字符串
func W网页_取域名 ¶
W网页_取域名 从 URL 中提取域名部分。 支持 http:// 和 https:// 两种协议前缀的 URL。
参数:
- Url: 完整的 URL 地址,如 "https://www.example.com/path"
返回:
- string: 域名部分,如 "www.example.com";无法识别时返回空串
func W网页_处理协议头 ¶
W网页_处理协议头 规范化 HTTP 协议头字符串的格式。 将协议头键名中每个以连字符分隔的单词首字母大写(Title Case), 如 "content-type" → "Content-Type","accept-encoding" → "Accept-Encoding"。
参数:
- 原始协议头: 原始协议头字符串,每行一个,格式为 "键名:值值"
返回:
- string: 格式化后的协议头字符串
func W网页_访问_对象 ¶
func W网页_访问_对象(网址 string, 访问方式 int, 提交信息 string, 提交Cookies string, 返回Cookies *string, 附加协议头 string, 返回协议头 *string, 返回状态代码 *int, 禁止重定向 bool, 字节集提交 []byte, 代理地址 string, 超时 int, 代理用户名 string, 代理密码 string, 代理标识 int, 对象继承 interface{}, 是否自动合并更新Cookie bool, 是否补全必要协议头 bool, 是否处理协议头大小写 bool) []byte
W网页_访问_对象 发送 HTTP 请求并返回响应数据。 这是网页访问的核心函数,支持多种 HTTP 方法、代理、Cookie 管理等高级功能。
参数:
- 网址: 请求的完整 URL
- 访问方式: HTTP 方法,0=GET, 1=POST, 2=HEAD, 3=PUT, 4=OPTIONS, 5=DELETE, 6=TRACE, 7=CONNECT
- 提交信息: POST 表单数据(当前未使用,请使用 字节集提交 参数)
- 提交Cookies: 请求时携带的 Cookie 字符串
- 返回Cookies: 用于接收响应 Set-Cookie 头的指针
- 附加协议头: 自定义请求头,每行一个,格式为 "键名:值值"
- 返回协议头: 用于接收响应 Content-Type 头的指针
- 返回状态代码: 用于接收 HTTP 状态码的指针
- 禁止重定向: true 时不自动跟随重定向
- 字节集提交: POST/PUT 请求的原始字节流数据
- 代理地址: 代理服务器地址,如 "http://127.0.0.1:8080"
- 超时: 超时时间(秒),-1 表示不限,0 或小于 1 自动设为 15 秒
- 代理用户名: 代理认证用户名(当前未使用)
- 代理密码: 代理认证密码(当前未使用)
- 代理标识: 代理类型标识(当前未使用)
- 对象继承: 继承对象(当前未使用)
- 是否自动合并更新Cookie: 是否合并更新 Cookie(当前未使用)
- 是否补全必要协议头: 是否自动补全 User-Agent 等必要头(当前未使用)
- 是否处理协议头大小写: 是否规范化协议头大小写(当前未使用)
返回:
- []byte: 响应体字节集;请求失败时返回空字节集
func X消息_关闭主题 ¶
func X消息_关闭主题(总线 messagebus.MessageBus, 主题 string)
X消息_关闭主题 关闭指定主题,释放相关资源。 关闭后该主题的所有订阅者将被移除。
参数:
- 总线: 消息总线实例
- 主题: 要关闭的主题名称
func X消息_创建 ¶
func X消息_创建(最大订阅者数 int) messagebus.MessageBus
X消息_创建 创建一个新的消息总线。 消息总线支持发布-订阅模式,用于 goroutine 间的异步通信。 订阅者通过主题(topic)接收消息,发布者向主题发送消息。
参数:
- 最大订阅者数: 每个主题允许的最大订阅者数量,0 表示不限制
返回:
- messagebus.MessageBus: 消息总线实例
func X消息_发布 ¶
func X消息_发布(总线 messagebus.MessageBus, 主题 string, 消息 ...interface{})
X消息_发布 向指定主题发布一条消息。 所有订阅了该主题的订阅者都会收到此消息。 发布操作是异步的,不会等待订阅者处理完成。
参数:
- 总线: 消息总线实例
- 主题: 消息主题名称
- 消息: 要发布的消息内容(可变参数)
func X消息_取消订阅 ¶
func X消息_取消订阅(总线 messagebus.MessageBus, 主题 string, 回调函数 interface{}) error
X消息_取消订阅 取消订阅指定主题。 取消后不再接收该主题的消息。
参数:
- 总线: 消息总线实例
- 主题: 要取消订阅的主题名称
- 回调函数: 之前订阅时使用的回调函数
返回:
- error: 取消订阅失败时返回错误
func X消息_订阅 ¶
func X消息_订阅(总线 messagebus.MessageBus, 主题 string, 回调函数 interface{}) error
X消息_订阅 订阅指定主题的消息。 当有消息发布到该主题时,回调函数会被异步调用。
参数:
- 总线: 消息总线实例
- 主题: 要订阅的主题名称
- 回调函数: 接收消息的回调函数
返回:
- error: 订阅失败时返回错误
func X系统_取CPU使用率 ¶
X系统_取CPU使用率 获取 CPU 使用率百分比。
参数:
- 间隔: 采样间隔(秒),0 表示瞬时值
返回:
- []float64: 各核心的使用率(0-100)
- error: 获取失败时返回错误
func X系统_取CPU信息 ¶
X系统_取CPU信息 获取 CPU 信息,包括核心数、型号等。
返回:
- []cpu.InfoStat: CPU 信息列表(多 CPU 时有多个元素)
- error: 获取失败时返回错误
func X系统_取交换区信息 ¶
func X系统_取交换区信息() (*mem.SwapMemoryStat, error)
X系统_取交换区信息 获取交换区(Swap)使用情况。
返回:
- *mem.SwapMemoryStat: 交换区信息
- error: 获取失败时返回错误
func X系统_取内存信息 ¶
func X系统_取内存信息() (*mem.VirtualMemoryStat, error)
X系统_取内存信息 获取内存使用情况,包括总量、已用、可用等。
返回:
- *mem.VirtualMemoryStat: 内存信息
- error: 获取失败时返回错误
func X系统_取总CPU使用率 ¶
X系统_取总CPU使用率 获取总体 CPU 使用率百分比。
参数:
- 间隔: 采样间隔(秒),0 表示瞬时值
返回:
- float64: 总体 CPU 使用率(0-100)
- error: 获取失败时返回错误
func X系统_取操作系统类型 ¶
func X系统_取操作系统类型() string
X系统_取操作系统类型 获取当前操作系统名称。 如 "windows"、"linux"、"darwin" 等。
返回:
- string: 操作系统名称
func X系统_取磁盘IO信息 ¶
func X系统_取磁盘IO信息() (map[string]disk.IOCountersStat, error)
X系统_取磁盘IO信息 获取磁盘 IO 统计信息(读写字节数、读写次数等)。
返回:
- map[string]disk.IOCountersStat: 键为磁盘设备名,值为 IO 统计
- error: 获取失败时返回错误
func X系统_取磁盘使用量 ¶
X系统_取磁盘使用量 获取指定路径的磁盘使用量。
参数:
- 路径: 磁盘路径,如 "/" 或 "C:\\"
返回:
- *disk.UsageStat: 磁盘使用信息
- error: 获取失败时返回错误
func X系统_取磁盘信息 ¶
func X系统_取磁盘信息() ([]disk.PartitionStat, error)
X系统_取磁盘信息 获取磁盘分区使用情况。
返回:
- []disk.PartitionStat: 磁盘分区列表
- error: 获取失败时返回错误
func X系统_取系统架构 ¶
func X系统_取系统架构() string
X系统_取系统架构 获取当前系统的 CPU 架构名称。 如 "amd64"、"arm64"、"386" 等。
返回:
- string: CPU 架构名称
func X系统_取系统负载 ¶
X系统_取系统负载 获取系统平均负载(1分钟、5分钟、15分钟)。 Linux/macOS 下返回真实负载值,Windows 下通过进程数模拟。
返回:
- *load.AvgStat: 系统负载信息
- error: 获取失败时返回错误
func X系统_取网络IO信息 ¶
func X系统_取网络IO信息() ([]net.IOCountersStat, error)
X系统_取网络IO信息 获取网络接口的 IO 统计信息(收发字节数、包数等)。
返回:
- []net.IOCountersStat: 网络 IO 统计列表
- error: 获取失败时返回错误
func X系统_取网络接口信息 ¶
func X系统_取网络接口信息() ([]net.InterfaceStat, error)
X系统_取网络接口信息 获取网络接口列表。
返回:
- []net.InterfaceStat: 网络接口信息列表
- error: 获取失败时返回错误
func X系统_取网络连接信息 ¶
func X系统_取网络连接信息() ([]net.ConnectionStat, error)
X系统_取网络连接信息 获取当前活动的网络连接列表。
返回:
- []net.ConnectionStat: 网络连接信息列表
- error: 获取失败时返回错误
func X系统_取进程CPU占用 ¶
X系统_取进程CPU占用 根据进程 PID 获取进程的 CPU 使用率百分比。
参数:
- pid: 进程 ID
返回:
- float64: CPU 使用率(0-100);获取失败返回 0
func X系统_取进程信息 ¶
X系统_取进程信息 根据进程 PID 获取进程详细信息。 包括进程名、状态、CPU/内存占用、创建时间等。
参数:
- pid: 进程 ID
返回:
- *process.Process: 进程对象;进程不存在返回 nil
- error: 获取失败时返回错误
func X系统_取进程内存占用 ¶
X系统_取进程内存占用 根据进程 PID 获取进程的内存占用(字节)。
参数:
- pid: 进程 ID
返回:
- float64: 内存占用(字节);获取失败返回 0
func X系统_取逻辑处理器数 ¶
func X系统_取逻辑处理器数() int
X系统_取逻辑处理器数 获取 Go 运行时可用的逻辑处理器数量。 等同于 GOMAXPROCS 的默认值。
返回:
- int: 逻辑处理器数量
func X系统_是否64位系统 ¶
func X系统_是否64位系统() bool
X系统_是否64位系统 判断当前操作系统是否为 64 位架构。
返回:
- bool: 64 位返回 true,32 位返回 false
func Y原子_递减 ¶
Y原子_递减 对 int64 变量进行原子递减 1 操作,线程安全。 等同于 atomic.AddInt64(&变量, -1)。
参数:
- 整数变量: 指向待递减变量的指针
返回:
- int64: 递减后的新值
func Y原子_递增 ¶
Y原子_递增 对 int64 变量进行原子递增 1 操作,线程安全。 等同于 atomic.AddInt64(&变量, 1)。
参数:
- 整数变量: 指向待递增变量的指针
返回:
- int64: 递增后的新值
示例:
var 计数器 int64 = 0 Y原子_递增(&计数器) // 1 Y原子_递增(&计数器) // 2
func Z字节集_Gzip解压 ¶
Z字节集_Gzip解压 对 Gzip 压缩的字节集进行解压。
参数:
- 字节集: Gzip 压缩的字节集
返回:
- data: 解压后的字节集
- err: 解压失败时的错误信息(空输入或格式错误等)
func Z字节集_十六进制到字节集 ¶
Z字节集_十六进制到字节集 将十六进制字符串转换为字节集。 每两个十六进制字符对应一个字节。
参数:
- 原始16进制文本: 十六进制格式的字符串(如 "48656c6c6f")
返回:
- []byte: 转换后的字节集;转换失败返回空字节集
示例:
Z字节集_十六进制到字节集("48656c6c6f") // []byte("Hello")
func Z字节集_字节集到十六进制 ¶
Z字节集_字节集到十六进制 将字节集转换为十六进制字符串(小写)。
参数:
- 字节集: 待转换的字节集
返回:
- string: 小写十六进制格式的字符串
示例:
Z字节集_字节集到十六进制([]byte("Hello")) // "48656c6c6f"
func Z字节集_寻找 ¶
Z字节集_寻找 在字节集中查找子字节集的位置。 位置从 1 开始计数(兼容易语言习惯),未找到返回 -1。
参数:
- 被搜寻的字节集: 被搜索的源字节集
- 欲寻找的字节集: 要查找的目标字节集
- 起始搜寻位置: 开始搜索的位置(从 1 开始),无效值自动设为 1
返回:
- int: 找到的位置(从 1 开始);未找到返回 -1
func Z正则_取Url连接地址 ¶
Z正则_取Url连接地址 从文本中提取所有 HTTP/HTTPS URL 链接。
参数:
- str: 包含 URL 的源文本
返回:
- []string: 提取到的 URL 数组
func Z正则_取ip端口 ¶
Z正则_取ip端口 从文本中提取第一个 IP:端口 格式的地址。
参数:
- str: 包含 IP:端口的源文本
返回:
- string: 第一个匹配的 IP:端口 字符串;未找到返回空串
func Z正则_取ip端口多个 ¶
Z正则_取ip端口多个 从文本中提取所有 IP:端口 格式的地址。
参数:
- str: 包含 IP:端口的源文本
返回:
- []string: 所有匹配的 IP:端口 字符串数组;未找到返回空数组
func Z正则_取全部匹配子文本 ¶
Z正则_取全部匹配子文本 使用正则表达式提取所有匹配的子文本。
参数:
- str: 源文本
- 正则表达式: 正则表达式模式
返回:
- []string: 所有匹配结果的数组
func Z正则_是否英数 ¶
Z正则_是否英数 校验字符串是否仅包含英文字母和数字。
参数:
- s: 待校验的字符串
- msg: 校验失败时的错误信息输出指针
返回:
- bool: true 表示仅包含英文字母和数字
func Z正则_校验email ¶
Z正则_校验email 校验电子邮件地址格式。 支持常见的邮箱格式,如 user@example.com、user.name+tag@sub.domain.com。
参数:
- s: 待校验的邮箱字符串
- msg: 校验失败时的错误信息输出指针
返回:
- bool: true 表示邮箱格式合法
func Z正则_校验代理用户名 ¶
Z正则_校验代理用户名 校验代理用户名,只允许英文字母、数字和中文字符。
参数:
- s: 待校验的用户名字符串
- msg: 校验失败时的错误信息输出指针
返回:
- bool: true 表示用户名格式合法
func Z正则_校验密码 ¶
Z正则_校验密码 校验密码强度,要求 5-17 个非空白字符。 如果不匹配,通过 msg 指针返回错误提示信息。
参数:
- s: 待校验的密码字符串
- msg: 校验失败时的错误信息输出指针
返回:
- bool: true 表示密码格式合法
func Z正则_校验用户名 ¶
Z正则_校验用户名 校验用户名,要求 5-17 个单词字符(字母、数字、下划线)。
参数:
- s: 待校验的用户名字符串
- msg: 校验失败时的错误信息输出指针
返回:
- bool: true 表示用户名格式合法
Types ¶
type LRUCache ¶
type LRUCache struct {
// contains filtered or unexported fields
}
LRUCache implements a simple LRU cache for caching frequently used data.
func NewLRUCache ¶
NewLRUCache creates a new LRU cache instance.
Parameters:
- capacity: cache capacity
Returns:
- *LRUCache: LRU cache instance
func (*LRUCache) Get ¶
Get retrieves a value from the cache.
Parameters:
- key: cache key
Returns:
- interface{}: cached value
- bool: whether the key exists
type Post数据类 ¶
type Post数据类 struct {
// contains filtered or unexported fields
}
Post数据类 HTTP POST 请求参数构建器。 用于构建 key=value 格式的 POST 表单数据或协议头数据。 内部维护 keys 和 values 两个平行的字符串数组,保持插入顺序。
func (*Post数据类) H获取JSON文本 ¶
H获取JSON文本 将所有键值对拼接为 JSON 对象格式的字符串。 格式:{"key1":"value1","key2":"value2"} 注意:值中的特殊字符(如双引号)未做转义处理,复杂场景请使用 encoding/json。
返回:
- string: JSON 格式的字符串
func (*Post数据类) H获取Post数据 ¶
H获取Post数据 将所有键值对拼接为 POST 表单格式的字符串。 格式:key1=value1&key2=value2
参数:
- 是否URL编码: true 时对所有 value 进行 URL 编码
返回:
- string: 拼接后的 POST 数据字符串
func (*Post数据类) H获取协议头数据 ¶
H获取协议头数据 将所有键值对拼接为 HTTP 协议头格式的字符串。 格式:key1: value1\r\nkey2: value2
参数:
- 是否URL编码: true 时对所有 value 进行 URL 编码
返回:
- string: 拼接后的协议头字符串
func (*Post数据类) T添加 ¶
T添加 向 Post 数据中添加一个键值对。
参数:
- key: 参数名
- value: 参数值
- 转码: true 时对 value 进行 URL 编码,false 时保留原值
Source Files
¶
- B编码.go
- B表达式计算.go
- C 比较.go
- C爬虫.go
- C程序.go
- C类型转换.go
- D定时.go
- D数据库.go
- E邮件.go
- F_helper.go
- Float64转换.go
- F文件监控.go
- G协程池.go
- HHook.go
- H客户端.go
- H汇编_汇编器.go
- H汇编_汇编指令.go
- IP.go
- Int转换.go
- Jjson.go
- J加解密.go
- J校验.go
- J结构体合并.go
- K环境变量.go
- K表格.go
- L 算法.go
- L日志.go
- L类_post数据类.go
- M 数学.go
- MMap 操作.go
- Map.go
- M命令行.go
- M目录.go
- N键值库.go
- P对象池.go
- P配置.go
- Q权限管理.go
- R 重试.go
- Rsa.go
- R日期解析.go
- S 切片操作.go
- S 字符串增强.go
- S数组.go
- S时间.go
- T图片.go
- T模板.go
- V数据校验.go
- W文件.go
- W文本.go
- W网页.go
- X消息总线.go
- X系统信息.go
- Y原子.go
- Z字节集.go
- Z正则.go
- 核心库.go