Documentation
¶
Index ¶
- Constants
- Variables
- func ArrChunk[V any](arr []V, sizes ...int) [][]V
- func ArrConcat[V any](arr []V, arrs ...[]V) []V
- func ArrCount[V comparable](arr []V, vals ...V) int
- func ArrEvery[V any, T []V](arr T, fn func(val V, idx int) bool) bool
- func ArrFill[V any, T []V](arr *T, val V) *T
- func ArrFilter[V any, T []V](arr T, fn func(val V, idx int) bool) T
- func ArrFind[V any, T []V](arr T, fn func(val V, idx int) bool) V
- func ArrFindIndex[V any, T []V](arr T, fn func(val V, idx int) bool) int
- func ArrFindLast[V any, T []V](arr T, fn func(val V, idx int) bool) V
- func ArrFindLastIndex[V any, T []V](arr T, fn func(val V, idx int) bool) int
- func ArrIncludes[V comparable, T []V](arr T, val V) bool
- func ArrIndexOf[V comparable, T []V](arr T, val V) int
- func ArrJoin[V any, T []V, R any](arr T, sep R) string
- func ArrMap[V any, R any](arr []V, fn func(val V, idx int) R) []R
- func ArrMean[V Numeric](arr []V) float64
- func ArrPop[V any, T []V](arr *T) V
- func ArrProduct[V Numeric](arr []V) V
- func ArrPush[V any, T []V](arr *T, vals ...V) int
- func ArrReduce[V any, R any](arr []V, fn func(prev R, curr V, idx int, arr []V) R, initVal ...R) R
- func ArrSample[V any](arr []V, count ...int) []V
- func ArrSampleOne[V any](arr []V) V
- func ArrShift[V any, T []V](arr *T) V
- func ArrShuffle[V any](arr []V) []V
- func ArrSome[V any, T []V](arr T, fn func(val V, idx int) bool) bool
- func ArrSplice[V any, T []V](arr *T, start, length int, val ...V) T
- func ArrSum[V Numeric](arr []V) V
- func ArrUnShift[V any, T []V](arr *T, vals ...V) int
- func ArrUnion[V comparable](arr []V, arrs ...[]V) []V
- func ArrUniq[V comparable](arr []V) []V
- func Decode[T comparable](val T, matches ...T) (v T)
- func HmacMd5(key, data []byte) string
- func HmacMd5Any(key, data any) string
- func HmacMd5Str(key, data string) string
- func HmacSha256(secret, data []byte) string
- func HmacSha256Any(secret, data any) string
- func HmacSha256Str(secret, data string) string
- func Http[T any](fn func() (res T, err error), httpConf ...HttpConfig) (res T, err error)
- func HttpWorks(fn func() (stop bool, err error), httpConf ...HttpConfig) (err error)
- func IIf[T any](condition bool, ifTrue, ifFalse T) T
- func JSON(data any) string
- func Join[V any, T []V, R any](arr T, sep R) string
- func Log(msg ...any)
- func LogBlue(msg ...any)
- func LogColor(attr color.Attribute, msg ...any)
- func LogGreen(msg ...any)
- func LogRed(msg ...any)
- func Max[T Numeric | string](val T, vals ...T) T
- func Md5(b []byte) string
- func Md5Any(str any) string
- func Md5Str(str string) string
- func Min[T Numeric | string](val T, vals ...T) T
- func NewErr(strs ...any) error
- func Now() string
- func Nvl[T comparable](val T, vals ...T) T
- func Print(msg ...any)
- func PrintBlue(msg ...any)
- func PrintColor(attr color.Attribute, msg ...any)
- func PrintGreen(msg ...any)
- func PrintJSON(data any) (j string)
- func PrintRed(msg ...any)
- func RandAreaCode() string
- func RandAreaName() string
- func RandChar(num int) (chars string)
- func RandDevice() (brand, model string)
- func RandIMEI() string
- func RandInt(min, max int) int
- func RandInt64(min, max int64) int64
- func RandKey(num int) string
- func RandLocation() (lat float64, lon float64)
- func RandNum(length int) (str string)
- func RandStr(num int) string
- func RandomAndroidUserAgent() string
- func RandomDesktopUserAgent() string
- func RandomIphoneUserAgent() string
- func RandomUserAgent() string
- func Sha1(b []byte) string
- func Sha1Any(str any) string
- func Sha1Str(str string) string
- func Sha256(b []byte) string
- func Sha256Any(str any) string
- func Sha256Str(str string) string
- func Space(n int) string
- func Str(v any) string
- func StrToFloat32(str string) (f32 float32)
- func StrToFloat64(str string) (f64 float64)
- func Trim(str string, cutset ...string) string
- func UUID() string
- func UniqID() string
- func XID() string
- type Area
- type AreaCodeItem
- type AreaDetail
- type City
- type DeviceInfo
- type HttpConfig
- type Numeric
- type Province
Examples ¶
- ArrChunk
- ArrConcat
- ArrCount
- ArrEvery
- ArrFill
- ArrFilter
- ArrFind
- ArrFindIndex
- ArrFindLast
- ArrFindLastIndex
- ArrIncludes
- ArrJoin
- ArrMap
- ArrMean
- ArrPop
- ArrProduct
- ArrPush
- ArrReduce
- ArrSample
- ArrSampleOne
- ArrShift
- ArrShuffle
- ArrSome
- ArrSplice
- ArrSum
- ArrUnShift
- ArrUnion
- ArrUniq
- Decode
- HmacSha256
- HmacSha256Any
- HmacSha256Str
- Http
- HttpWorks
- IIf
- JSON
- Join
- Max
- Md5
- Md5Any
- Md5Str
- Min
- NewErr
- Nvl
- PrintColor
- PrintRed
- RandChar
- RandDevice
- RandIMEI
- RandInt
- RandKey
- RandLocation
- RandNum
- RandStr
- RandomAndroidUserAgent
- Sha256
- Sha256Any
- Sha256Str
- Space
- Str
- StrToFloat32
- StrToFloat64
- Trim
- UUID
- UniqID
- XID
Constants ¶
const CITY_CODE_JSON = `` /* 540868-byte string literal not displayed */
Variables ¶
var (
AreaCodes []AreaCodeItem
)
var DeviceList = map[string][]string{
"HUAWEI": {
"LIO-AN00",
"TAS-AN00",
"TAS-AL00",
"LYA-AL10",
"HMA-AL00",
"VOG-AL00",
"ELE-AL00",
"OXF-AN10",
"OXF-AN00",
"PCT-AL10",
"YAL-AL10",
"YAL-AL00",
"WLZ-AN00",
"SEA-AL10",
},
"XiaoMi": {
"MI9",
},
"Meizu": {
"M973Q",
},
"OPPO": {
"PCLM10",
"PCRT00",
},
"vivo": {
"V1916A",
"V1824A",
"V1936A",
"V1923A",
"V1938CT",
"V1938T",
},
"samsung": {
"SM-N9760",
"SM-N9700",
"SM-G9750",
"SM-G9730",
},
"OnePlus": {
"HD1910",
"HD1900",
"GM1910",
"GM1900",
},
"realme": {
"RMX1931",
},
"nubia": {
"NX627J",
"NX629J",
},
"smartisan": {
"DT1901A",
},
}
var Devices []DeviceInfo
var Provinces []Province
Functions ¶
func ArrChunk ¶ added in v0.1.7
ArrChunk 将一个数组分割成大小的组。如果数组不能被平均分配,那么最后一块将是剩下的元素
Example ¶
fmt.Println(ArrChunk([]int{1, 2, 3, 4, 5, 6})) fmt.Println(ArrChunk([]int{1, 2, 3, 4, 5, 6}, 3)) fmt.Println(ArrChunk([]int{1, 2, 3, 4, 5, 6}, 4))
Output: [[1] [2] [3] [4] [5] [6]] [[1 2 3] [4 5 6]] [[1 2 3 4] [5 6]]
func ArrConcat ¶
func ArrConcat[V any](arr []V, arrs ...[]V) []V
ArrConcat 将多个数组的元素拼接到一个数组
Example ¶
arr := []int{1, 2, 3} arr2 := []int{4, 5, 6} fmt.Println(ArrConcat(arr, arr2))
Output: [1 2 3 4 5 6]
func ArrCount ¶ added in v0.1.7
func ArrCount[V comparable](arr []V, vals ...V) int
ArrCount 返回数组指定元素的个数
Example ¶
fmt.Println(ArrCount([]int{0, 0, 0, 1, 1, 2, 3, 4, 5})) fmt.Println(ArrCount([]int{0, 0, 0, 1, 1, 2, 3, 4, 5}, 1)) fmt.Println(ArrCount([]float64{1.625, 2.78, 3.521, 4.789, 5.666}, 3.521))
Output: 3 2 1
func ArrEvery ¶
ArrEvery 循环数组,并在fn()返回false时提前结束循环
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrEvery(arr, func(val int, idx int) bool { return val > 0 })) fmt.Println(ArrEvery(arr, func(val int, idx int) bool { return val > 1 }))
Output: true false
func ArrFill ¶ added in v0.1.6
func ArrFill[V any, T []V](arr *T, val V) *T
ArrFill 元素填充:将数组内元素全部填充为指定值
Example ¶
arr := []int{1, 2, 3, 4, 5} arr2 := ArrFill(&arr, 1) fmt.Println(arr) ArrFill(arr2, 2) fmt.Println(arr)
Output: [1 1 1 1 1] [2 2 2 2 2]
func ArrFilter ¶
ArrFilter 元素筛选,fn()返回true的元素保留
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrFilter(arr, func(val int, idx int) bool { return val%2 == 0 }))
Output: [2 4]
func ArrFind ¶
ArrFind 查找元素:返回fn()首次为true的元素,否则返回
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrFind(arr, func(val int, idx int) bool { return val%2 == 0 }))
Output: 2
func ArrFindIndex ¶ added in v0.1.6
ArrFindIndex 查找元素:返回fn()首次为true的元素所在下标,否则返回-1
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrFindIndex(arr, func(val int, idx int) bool { return val%2 == 0 }))
Output: 1
func ArrFindLast ¶ added in v0.1.6
ArrFindLast 查找元素:返回fn()最后一次为true的元素,否则返回
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrFindLast(arr, func(val int, idx int) bool { return val%2 == 0 }))
Output: 4
func ArrFindLastIndex ¶ added in v0.1.6
ArrFindLastIndex 查找元素:返回fn()最后一次为true的元素所下在标,否则返回-1
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrFindLastIndex(arr, func(val int, idx int) bool { return val%2 == 0 }))
Output: 3
func ArrIncludes ¶
func ArrIncludes[V comparable, T []V](arr T, val V) bool
ArrIncludes 判断数组是否包含指定元素
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrIncludes(arr, 0)) fmt.Println(ArrIncludes(arr, 1))
Output: false true
func ArrIndexOf ¶ added in v0.1.6
func ArrIndexOf[V comparable, T []V](arr T, val V) int
ArrIndexOf 查找指定元素在数组中的位置下标,某不存在则返回-1
func ArrJoin ¶
ArrJoin 将数组元素转为string,为使用sep拼接
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrJoin(arr, "x"))
Output: 1x2x3x4x5
func ArrMap ¶
ArrMap 元素重构:使用fn()的返回值替换原值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrMap(arr, func(v, i int) int { return v * 2 }))
Output: [2 4 6 8 10]
func ArrMean ¶ added in v0.1.7
ArrMean 数组所有元素的平均值
Example ¶
fmt.Println(ArrMean([]int{1, 2, 3, 4, 5})) fmt.Println(ArrMean([]float64{1.625, 2.78, 3.521, 4.789, 5.666}))
Output: 3 3.6762
func ArrPop ¶
func ArrPop[V any, T []V](arr *T) V
ArrPop 从数组中移除最后一个元素,并返回
- 无可移除元素时返回指定类型的空值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrPop(&arr)) fmt.Println(arr)
Output: 5 [1 2 3 4]
func ArrProduct ¶ added in v0.1.7
func ArrProduct[V Numeric](arr []V) V
ArrProduct 数组所有元素相乘的乘积
Example ¶
fmt.Println(ArrProduct([]int{1, 2, 3, 4, 5})) fmt.Println(ArrProduct([]float64{1.625, 2.78, 3.521, 4.789, 5.666}))
Output: 120 431.604131744695
func ArrPush ¶ added in v0.1.6
ArrPush 添加一些元素到数组末尾,并返回该数组当前的元素个数
- 无可移除元素时返回指定类型的空值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrPush(&arr)) fmt.Println(arr) fmt.Println(ArrPush(&arr, 6, 7, 8)) fmt.Println(arr)
Output: 5 [1 2 3 4 5] 8 [1 2 3 4 5 6 7 8]
func ArrReduce ¶ added in v0.1.7
ArrReduce 接收一个函数作为累加器,数组中的每个值(从左到右)开始合并,最终为一个值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrReduce(arr, func(prev string, curr int, idx int, arr []int) string { return fmt.Sprintf(`%s,%d`, prev, curr) })) fmt.Println(ArrReduce(arr, func(prev string, curr int, idx int, arr []int) string { return fmt.Sprintf(`%s,%d`, prev, curr) }, "start")) fmt.Println(ArrReduce(arr, func(prev []int, curr int, idx int, arr []int) []int { return append(prev, curr) }))
Output: ,1,2,3,4,5 start,1,2,3,4,5 [1 2 3 4 5]
func ArrSample ¶ added in v0.1.7
ArrSample 从数组中随机返回n个元素,n强制取值范围[1,len(arr)]
Example ¶
fmt.Println(ArrSample([]int{1})) fmt.Println(ArrSample([]int{1, 1, 2, 2, 3, 4, 4, 5})) fmt.Println(ArrSample([]string{"a", "A", "B", "C"}, 5))
Output: [1] [3] [C A B a]
func ArrSampleOne ¶ added in v0.1.7
func ArrSampleOne[V any](arr []V) V
ArrSampleOne 从数组中随机返回1个元素
Example ¶
fmt.Println(ArrSampleOne([]int{})) fmt.Println(ArrSampleOne([]int{1, 2, 3}))
Output: 0 1
func ArrShift ¶
func ArrShift[V any, T []V](arr *T) V
ArrShift 从数组中移除第一个元素,并返回
- 无可移除元素时返回指定类型的空值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrShift(&arr)) fmt.Println(arr)
Output: 1 [2 3 4 5]
func ArrShuffle ¶ added in v0.1.7
func ArrShuffle[V any](arr []V) []V
ArrShuffle 将一个数组随机打乱,返回一个新的数组
Example ¶
fmt.Println(ArrShuffle([]int{1, 2, 3, 4, 5}))
Output: [3 2 5 1 4]
func ArrSome ¶
ArrSome 循环数组,并在fn()返回true时提前结束循环
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrSome(arr, func(val int, idx int) bool { return val > 0 })) fmt.Println(ArrSome(arr, func(val int, idx int) bool { return val > 5 }))
Output: true false
func ArrSplice ¶
ArrSplice 从数组arr的起始位置start开始,删去length个元素,并将val拼接至最后,返回删除的元素切片
- 若start为负数,则从尾部开始算,如:-5,表示从倒数第5个元素开始
- 此方法传入的arr为指针(*T),会改变原数组
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrSplice(&arr, 2, 2, 7, 8, 9)) fmt.Println(arr) fmt.Println(ArrSplice(&arr, -1, 2, 10, 11, 12)) fmt.Println(arr)
Output: [3 4] [1 2 5 7 8 9] [9] [1 2 5 7 8 10 11 12]
func ArrSum ¶ added in v0.1.7
func ArrSum[V Numeric](arr []V) V
ArrSum 数组所有元素求和
Example ¶
fmt.Println(ArrSum([]int{1, 2, 3, 4, 5})) fmt.Println(ArrSum([]float64{1.625, 2.78, 3.521, 4.789, 5.666}))
Output: 15 18.381
func ArrUnShift ¶ added in v0.1.6
ArrUnShift 添加一些元素到数组开头,并返回该数组当前的元素个数
- 无可移除元素时返回指定类型的空值
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(ArrUnShift(&arr)) fmt.Println(arr) fmt.Println(ArrUnShift(&arr, 0, -1)) fmt.Println(arr)
Output: 5 [1 2 3 4 5] 7 [0 -1 1 2 3 4 5]
func ArrUnion ¶ added in v0.1.7
func ArrUnion[V comparable](arr []V, arrs ...[]V) []V
ArrUnion 将多个数的值返回唯一的并集数组
Example ¶
arr := []int{1, 2, 3} arr2 := []int{2, 3, 4, 5, 6} fmt.Println(ArrUnion(arr, arr2))
Output: [1 2 3 4 5 6]
func ArrUniq ¶ added in v0.1.7
func ArrUniq[V comparable](arr []V) []V
ArrUniq 数组去重
Example ¶
fmt.Println(ArrUniq([]int{1, 1, 2, 2, 3, 4, 4, 5})) fmt.Println(ArrUniq([]string{"a", "A", "B", "B", "B", "C"})) type s struct { A string B int } fmt.Println(ArrUniq([]s{{"x", 1}, {"X", 0}, {"X", 0}, {"x", 1}, {"x", 2}}))
Output: [1 2 3 4 5] [a A B C] [{x 1} {X 0} {x 2}]
func Decode ¶
func Decode[T comparable](val T, matches ...T) (v T)
Decode 类似oracle的decode、php8的match
- 参数为两个一组,依次往后匹配
1. 若某组的首个值与val相等,则返回该组第2个值
2. 若某组仅1个值,则直接返回该值
3. 否则返回与val相同类型的空值
Example ¶
fmt.Println(Decode(5, 1, 10, 5, 50)) fmt.Println(Decode(5, 1, 10, 3, 30)) fmt.Println(Decode(5, 1, 10, 3, 30, 25)) fmt.Println(Decode("5", "1", "10", "2", "20")) fmt.Println(Decode("5", "1", "10", "5", "20"))
Output: 50 0 25 20
func HmacSha256 ¶
HmacSha256 HmacSha256加密
Example ¶
fmt.Println(HmacSha256([]byte("key"), []byte("abcdefg")))
Output: 4718cebf3bde5716605b6fea813757e05dc234ee47bb6c81b7559d4731949771
func HmacSha256Any ¶
HmacSha256Any HmacSha256加密
Example ¶
var s = struct { Name string Phone string }{ "Teval", "15656565656", } fmt.Println(HmacSha256Any([]byte("key"), s)) fmt.Println(HmacSha256Any([]byte("key"), fmt.Sprintf(`%+v`, s))) fmt.Println(fmt.Sprintf(`%+v`, s))
Output: c764cb7f3cebe567e98bc70b8a30f9a7b6d2d36112324abee4475fbd6756ef4e c764cb7f3cebe567e98bc70b8a30f9a7b6d2d36112324abee4475fbd6756ef4e {Name:Teval Phone:15656565656}
func HmacSha256Str ¶
HmacSha256Str HmacSha256加密
Example ¶
fmt.Println(HmacSha256Str("key", "abcdefg"))
Output: 4718cebf3bde5716605b6fea813757e05dc234ee47bb6c81b7559d4731949771
func Http ¶ added in v0.0.15
func Http[T any](fn func() (res T, err error), httpConf ...HttpConfig) (res T, err error)
Http fn返回错误时重试,一般用于使用代理后的网络请求
httpConf.Delay 重试间隔 默认1秒
httpConf.Times 重试次数 默认5次
Example ¶
b, err := Http(func() (res goz.ResponseBody, err error) { return curl.Get("http://baidu.com") }) fmt.Println(b.GetContents(), err)
Output: <html> <meta http-equiv="refresh" content="0;url=http://www.baidu.com/"> </html> <nil>
func HttpWorks ¶ added in v0.0.15
func HttpWorks(fn func() (stop bool, err error), httpConf ...HttpConfig) (err error)
HttpWorks fn返回错误时重试,一般用于对使用代理的网络请求的响应的处理,得到正确的结果后可通过stop=true提前结束
httpConf.Delay 重试间隔 默认1秒
httpConf.Times 重试次数 默认5次
Example ¶
fmt.Println(HttpWorks(func() (stop bool, err error) { return false, NewErr("times") }))
Output: times
func IIf ¶
IIf 三元:当条件为true时,返回ifTrue,否则返回ifFalse
Example ¶
v1 := IIf(true, 5, 1) fmt.Println(fmt.Sprintf(`%v %T`, v1, v1)) v2 := IIf(false, "5", "1") fmt.Println(fmt.Sprintf(`%v %T`, v2, v2))
Output: 5 int 1 string
func JSON ¶
JSON 对json数据进行格式化(带缩进)
Example ¶
var s = struct { Name string `json:"name"` Phone string `json:"phone"` }{ "Teval", "15656565656", } fmt.Println(JSON(s))
Output: { "name": "Teval", "phone": "15656565656" }
func Join ¶
Join 将数组以指定分隔符拼接为字符串
Example ¶
arr := []int{1, 2, 3, 4, 5} fmt.Println(Join(arr, "x"))
Output: 1x2x3x4x5
func Max ¶
Max 返回参数中的最大值(至少需要1个参数)
Example ¶
fmt.Println(Max(1, 2, 3, 4, 5, 4, 3, 2, 1)) fmt.Println(Max("a", "b", "999")) fmt.Println(Max("18", "179")) fmt.Println(Max(1))
Output: 5 b 18 1
func Md5 ¶
Md5 []byte转md5
Example ¶
fmt.Println(Md5([]byte("abcdefg")))
Output: 7ac66c0f148de9519b8bd264312c4d64
func Md5Any ¶
Md5Any any转md5
Example ¶
var s = struct { Name string Phone string }{ "Teval", "15656565656", } fmt.Println(Md5Any(s)) fmt.Println(Md5Any(fmt.Sprintf(`%+v`, s))) fmt.Println(fmt.Sprintf(`%+v`, s))
Output: 29e1f5c14d500cdc87d7543e07acd9de 29e1f5c14d500cdc87d7543e07acd9de {Name:Teval Phone:15656565656}
func Md5Str ¶
Md5Str string转md5
Example ¶
fmt.Println(Md5Str("abcdefg"))
Output: 7ac66c0f148de9519b8bd264312c4d64
func Min ¶
Min 返回参数中的最小值(至少需要1个参数)
Example ¶
fmt.Println(Min(1, 2, 3, 4, 5, 4, 3, 2, 1)) fmt.Println(Min("a", "b", "999")) fmt.Println(Min("18", "179")) fmt.Println(Min("1"))
Output: 1 999 179 1
func NewErr ¶
NewErr 生成error,多个参数以:分隔
Example ¶
err := NewErr("假装有个错误") fmt.Println(fmt.Sprintf(`%v %T`, err, err))
Output: 假装有个错误 *errors.errorString
func Nvl ¶
func Nvl[T comparable](val T, vals ...T) T
Nvl 返回参数中第1个不为空的值
- 类似oracle的nvl
Example ¶
fmt.Println(Nvl("")) fmt.Println(Nvl("", "a")) fmt.Println(Nvl("", "", "b", "c")) fmt.Println(Nvl(0, 1, 2)) fmt.Println(Nvl(5, 1, 2))
Output: a b 1 5
func PrintColor ¶
PrintColor 输出指定颜色字体,多个参数以\t分隔
Example ¶
PrintColor(color.FgHiMagenta, "abc", "def") fmt.Println("abc\tdef")
Output: abc def
func PrintRed ¶
func PrintRed(msg ...any)
PrintRed 输出红色字体,多个参数以\t分隔
Example ¶
PrintRed("error")
Output:
func RandAreaCode ¶ added in v0.1.3
func RandAreaCode() string
func RandAreaName ¶ added in v0.1.3
func RandAreaName() string
func RandChar ¶ added in v0.1.0
Example ¶
fmt.Println(RandChar(24))
Output: a6c0c22f130ac319bfa81f1a79de5c91
func RandDevice ¶ added in v0.0.13
func RandDevice() (brand, model string)
Example ¶
fmt.Println(RandDevice())
Output: HUAWEI YAL-AL00
func RandIMEI ¶
func RandIMEI() string
RandIMEI 生成随机的手机IMEI串号
Example ¶
fmt.Println(RandIMEI())
Output: 254376154169509
func RandKey ¶
RandKey 生成指定长度的字符串
Example ¶
fmt.Println(RandKey(32))
Output: a6c0c22f130ac319bfa81f1a79de5c91
func RandLocation ¶
RandLocation 生成国内随机经纬度
Example ¶
fmt.Println(RandLocation())
Output: 44.1285743781 100.3852417065
func RandStr ¶
RandStr 生成指定长度的字符串
Example ¶
fmt.Println(RandStr(32))
Output: 62c7281i0gg5ejk54gcdmg3561793437
func RandomAndroidUserAgent ¶ added in v0.1.9
func RandomAndroidUserAgent() string
Example ¶
fmt.Println(JSON(RandomAndroidDeviceInfo()))
Output: sf
func RandomDesktopUserAgent ¶ added in v0.1.9
func RandomDesktopUserAgent() string
func RandomIphoneUserAgent ¶ added in v0.1.9
func RandomIphoneUserAgent() string
func RandomUserAgent ¶ added in v0.1.9
func RandomUserAgent() string
func Sha256 ¶
Sha256 Sha256加密
Example ¶
fmt.Println(Sha256([]byte("abcdefg")))
Output: 7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a
func Sha256Any ¶
Sha256Any Sha256加密
Example ¶
var s = struct { Name string Phone string }{ "Teval", "15656565656", } fmt.Println(Sha256Any(s)) fmt.Println(Sha256Any(fmt.Sprintf(`%+v`, s))) fmt.Println(fmt.Sprintf(`%+v`, s))
Output: e0866e43fa7f387f59dac989699b73195e1b6b3d84e7e2ceb923c21c2b227e6b e0866e43fa7f387f59dac989699b73195e1b6b3d84e7e2ceb923c21c2b227e6b {Name:Teval Phone:15656565656}
func Sha256Str ¶
Sha256Str Sha256加密
Example ¶
fmt.Println(Sha256Str("abcdefg"))
Output: 7d1a54127b222502f5b79b5fb0803061152a44f92b37e23c6527baf665d4da9a
func Space ¶
Space 返回指定数量的空格
Example ¶
fmt.Println(fmt.Sprintf(`_%s_`, Space(2))) fmt.Println(len(Space(2)))
Output: _ _ 2
func Str ¶
Str 转为string
Example ¶
fmt.Println(fmt.Sprintf(`%v %T`, Str(nil), Str(nil))) fmt.Println(fmt.Sprintf(`%v %T`, Str(5), Str(5)))
Output: string 5 string
func StrToFloat32 ¶
StrToFloat32 string转float32
Example ¶
f32 := StrToFloat32("5.2648") fmt.Println(fmt.Sprintf(`%v %T`, f32, f32))
Output: 5.2648 float32
func StrToFloat64 ¶
StrToFloat64 string转float64
Example ¶
f64 := StrToFloat64("5.2648") fmt.Println(fmt.Sprintf(`%v %T`, f64, f64))
Output: 5.2648 float64
func Trim ¶
Trim 清除字符串首尾的指定内容
- 默认cutest "[\\s\\t\\r\\n]+"
Example ¶
fmt.Println(len(Trim(" \r\n 56 66 1"))) cutset := "[\\s\\t\\r\\n1]+" fmt.Println(Trim(" \r\n 56 66 1", cutset))
Output: 8 56 66
func UUID ¶
func UUID() string
UUID 生成UUID
Example ¶
fmt.Println(UUID())
Output: ea0935aa-4cbb-4bf3-8075-bfd81569baae
Types ¶
type Area ¶ added in v0.1.17
type AreaCodeItem ¶ added in v0.1.3
func RandAreaCodeItem ¶ added in v0.1.3
func RandAreaCodeItem() AreaCodeItem
type AreaDetail ¶ added in v0.1.18
type AreaDetail struct { ProvinceCode int `json:"provinceCode"` ProvinceName string `json:"provinceName"` CityCode int `json:"cityCode"` CityName string `json:"cityName"` AreaCode int `json:"areaCode"` AreaName string `json:"areaName"` }
func RandAreaDetail ¶ added in v0.1.18
func RandAreaDetail() (areaDetail AreaDetail)
type City ¶ added in v0.1.17
type DeviceInfo ¶ added in v0.1.9
type DeviceInfo struct { AppName string `json:"appName"` Connection struct { Downlink float64 `json:"downlink"` EffectiveType string `json:"effectiveType"` Rtt int `json:"rtt"` } `json:"connection"` Platform string `json:"platform"` PluginsLength int `json:"pluginsLength"` Vendor string `json:"vendor"` UserAgent string `json:"userAgent"` ViewportHeight int `json:"viewportHeight"` ViewportWidth int `json:"viewportWidth"` DeviceCategory string `json:"deviceCategory"` ScreenHeight int `json:"screenHeight"` ScreenWidth int `json:"screenWidth"` Weight float64 `json:"weight"` }
func RandomAndroidDeviceInfo ¶ added in v0.1.13
func RandomAndroidDeviceInfo() DeviceInfo
func RandomDesktopDeviceInfo ¶ added in v0.1.13
func RandomDesktopDeviceInfo() DeviceInfo
func RandomDeviceInfo ¶ added in v0.1.12
func RandomDeviceInfo() DeviceInfo
func RandomIphoneDeviceInfo ¶ added in v0.1.13
func RandomIphoneDeviceInfo() DeviceInfo
type HttpConfig ¶ added in v0.0.15
type Province ¶ added in v0.1.17
type Province struct { Id int `json:"id"` Name string `json:"name"` Pid int `json:"pid"` Code int `json:"code"` Deep int `json:"deep"` City []City `json:"city"` Value int `json:"value"` Label string `json:"label"` }
func RandProvince ¶ added in v0.1.17
func RandProvince() Province