Fetch the repository succeeded.
go get gitee.com/duqingbing/go-utils
# 指定某个 commitId 进行拉取
go get -u gitee.com/duqingbing/go-utils@commitId
type KMap map[string]interface{}
: key-value 映射type EStruct = struct{}
: 空 结构体类型type KStructMap map[string]EStruct
: key 为字符串, value 为空结构的 map
ToSlice()
: 转换成 KSlicetype KSlice []string
: string 类型的切片
ToMap()
: 转换成 KStructMaptype XzTestingCase struct {Name string,Args KMap,Want KMap}
: 通用测试示例NewTesting()
: 单元测试工具Base64Encode(v string) string
: base64 编码Base64Decode(v string) (str string, err error)
: base64 解码JsonEncode(data any) (string, error)
: json 编码JsonDecode(data string, obj any) error
: json 解码func Md5(v string) string
: md5 编码func CallerStack(isPrint bool) string
: 获取或返回调用处的调用栈FileList(dir string, ignores KSlice, recursion bool) (res []string, err error)
: 获取目录下的文件列表CopyFile(src, dist string) (copySize int, err error)
: 复制文件CopyDir(src, dist string, ignores KSlice) error
: 复制目录NewMapStructure()
: map-structure 转换工具Random
Int(n int) int
: 获取 [0, n) 之间的整数IntRange(min, max int) int
: 获取 [min, max) 之间的整数string
RandString(length uint8, mask uint8) (str string)
: 获取随机字符串, 可通过掩码选中字符串, mask 7 => 1,2,4, mask 3 => 1,2, mask 5 => 1, 4, 掩码最大目前为 31Uniqid() string
: 根据 当前时间+服务IP+当前进程ID 计算一个唯一 idNewXzList[T any]() XzList[T]
: 队列Time
: 类型
Now() Time
: 当时时间的 xztime.TimeParse(layout, value string) (time Time, err error)
: 根据字符及格式解析成 xztime.TimeServerIp() (ip string)
: 服务端 IPHasLocalIPAddr(ip string) bool
: 检测 IP 地址字符串是否是内网地址ClientIP(r *http.Request) string
: 获取客户端 IPClientPublicIP(r *http.Request) string
: 获取客户端公网 IPRemoteIP(r *http.Request) string
: 通过 RemoteAddr 获取 IP 地址, 快速解析方法, 不一定准确IPString2Long(ip string) (uint, error)
: ip 字符串转为数值Long2IPString(i uint) (string, error)
: 把数值转为 ip 字符串FillWidth(str string, width int) string
: 数据前位 0 补足到指定宽度的倍数HexToBinary(hex string) (bin string, err error)
: 十六进制 转换成 二进制BinaryToHex(bin string) (hex string, err error)
: 二进制 转换成 十六进制StringToHex(str string) (bin string)
: 字符串 转换成 十六进制HexToString(str string) (string, error)
: 十六进制 转换成 字符串StringToBinary(str string) (string, error)
: 字符串 转换成 二进制BinaryToString(bin string) (string, error)
: 二进制 转换成 字符串NewTimeCounter() timeCounter
: 创建计时器容器
Begin(flag string)
: 开始一个计时器End(flag string) float64
: 结束一个计时器SetFieldValue(binding interface{}, name string, value interface{}) error
: 为结构体的指定属性赋值StructToStruct(binding interface{}, value interface{}) error
: 将 结构体 value 的值赋值给 结构体 bindingIsZero(v interface{}) bool
: 判断一个变量是否零值package goutils
import (
"testing"
)
func sum(a, b int) int {
return a + b
}
func TestTesting(t *testing.T) {
NewTesting().
SetCases([]XzTestingCase{
{
Name: "1+2",
Args: KMap{"a": 1, "b": 2},
Want: KMap{"res": 3},
},
{
Name: "2+2=4",
Args: KMap{"a": 2, "b": 2},
Want: KMap{"res": 4},
},
}).
SetLogic(func(args KMap) KMap {
res := make(KMap, 0)
res["res"] = sum(args["a"].(int), args["b"].(int))
return res
}).
Done(t)
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。