kgo

package module
v0.1.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 11, 2020 License: Apache-2.0 Imports: 64 Imported by: 0

README

kgo

k`s golang helper/library/utils
golang 常用函数库/工具集,仅测试支持64位linux.
总共420多个通用的方法,涵盖字符串、数组、文件、时间、加密以及类型转换等操作.

文档

GoDoc Go Report Card Build Status codecov Code Size Starts Version

安装使用

安装

go get -u https://github.com/danbai225/kgo

引入

import "https://github.com/danbai225/kgo"
函数接收器
  • KFile 为文件操作,如
chk := KFile.IsExist(filename)
  • KStr 为字符串操作,如
res := KStr.Trim(" hello world ")
  • KNum 为数值操作,如
res := KNum.NumberFormat(123.4567890, 3, ".", "")
  • KArr 为数组(切片/字典)操作,如
mp := map[string]string{
    "a": "aa",
    "b": "bb",
}
chk := KArr.InArray("bb", mp)	
  • KTime 为时间操作,如
res, err := KTime.Str2Timestamp("2019-07-11 10:11:23")
  • KConv 为类型转换操作,如
res := KConv.ToStr(false)
  • KOS 为系统和网络操作,如
res, err := KOS.LocalIP()
  • KEncr 为加密操作,如
res, err := KEncr.PasswordHash([]byte("123456"))
  • KDbug 为调试操作,如
KDbug.DumpStacks()

具体函数请查看godoc,更多示例请参考*_test.go文件.

测试
#使用go mod
go mod tidy
go mod vendor

#单元测试
go test

#压测
time go test -bench=. -run=none
time go test -v -bench=. -cpu=4 -benchtime="10s" -timeout="15s" -benchmem

#代码覆盖率
go test -cover #概览

go test -coverprofile=coverage.out #生成统计信息
go test -v -covermode=count -coverprofile=coverage.out
go tool cover -func=coverage.out #查看统计信息
go tool cover -html=coverage.out #将统计信息转换为html

#性能分析
time go test -timeout 30m -bench=. -benchmem -memprofile memprofile.out -cpuprofile profile.out
go tool pprof profile.out
go tool pprof -http=192.168.1.2:8081 /usr/bin/dot profile.out
更新日志

详见[Changelog]

鸣谢

感谢JetBrains的赞助.
JetBrains

Documentation

Index

Constants

View Source
const (
	// Version 版本号
	Version = "0.1.4"

	//UINT_MAX 无符号整型uint最大值
	UINT_MAX = ^uint(0)
	//UINT_MIN 无符号整型uint最小值
	UINT_MIN uint = 0

	//UINT64_MAX 无符号整型uint64最大值, 18446744073709551615
	UINT64_MAX = ^uint64(0)
	//UINT64_MIN 无符号整型uint64最小值
	UINT64_MIN uint64 = 0

	//INT_MAX 有符号整型int最大值
	INT_MAX = int(^uint(0) >> 1)
	//INT_MIN 有符号整型int最小值
	INT_MIN = ^INT_MAX

	//INT64_MAX 有符号整型int64最大值, 9223372036854775807
	INT64_MAX = int64(^uint(0) >> 1)
	//INT64_MIN 有符号整型int64最小值, -9223372036854775808
	INT64_MIN = ^INT64_MAX

	// FILE_COVER_ALLOW 文件覆盖,允许
	FILE_COVER_ALLOW LkkFileCover = 1
	// FILE_COVER_IGNORE 文件覆盖,忽略
	FILE_COVER_IGNORE LkkFileCover = 0
	// FILE_COVER_DENY 文件覆盖,禁止
	FILE_COVER_DENY LkkFileCover = -1

	// FILE_TYPE_ANY 文件类型-任意
	FILE_TYPE_ANY LkkFileType = 0
	// FILE_TYPE_LINK 文件类型-链接文件
	FILE_TYPE_LINK LkkFileType = 1
	// FILE_TYPE_REGULAR 文件类型-常规文件(不包括链接)
	FILE_TYPE_REGULAR LkkFileType = 2
	// FILE_TYPE_COMMON 文件类型-普通文件(包括常规和链接)
	FILE_TYPE_COMMON LkkFileType = 3

	// FILE_TREE_ALL 文件树,查找所有(包括目录和文件)
	FILE_TREE_ALL LkkFileTree = 3
	// FILE_TREE_DIR 文件树,仅查找目录
	FILE_TREE_DIR LkkFileTree = 2
	// FILE_TREE_FILE 文件树,仅查找文件
	FILE_TREE_FILE LkkFileTree = 1

	// RAND_STRING_ALPHA 随机字符串类型,字母
	RAND_STRING_ALPHA LkkRandString = 0
	// RAND_STRING_NUMERIC 随机字符串类型,数值
	RAND_STRING_NUMERIC LkkRandString = 1
	// RAND_STRING_ALPHANUM 随机字符串类型,字母+数值
	RAND_STRING_ALPHANUM LkkRandString = 2
	// RAND_STRING_SPECIAL 随机字符串类型,字母+数值+特殊字符
	RAND_STRING_SPECIAL LkkRandString = 3
	// RAND_STRING_CHINESE 随机字符串类型,仅中文
	RAND_STRING_CHINESE LkkRandString = 4

	// CASE_NONE 忽略大小写
	CASE_NONE LkkCaseSwitch = 0
	// CASE_LOWER 检查小写
	CASE_LOWER LkkCaseSwitch = 1
	// CASE_UPPER 检查大写
	CASE_UPPER LkkCaseSwitch = 2

	// PAD_LEFT 左侧填充
	PAD_LEFT LkkPadType = 0
	// PAD_RIGHT 右侧填充
	PAD_RIGHT LkkPadType = 1
	// PAD_BOTH 两侧填充
	PAD_BOTH LkkPadType = 2

	// PKCS_NONE 不进行填充
	PKCS_NONE LkkPKCSType = -1
	// PKCS_ZERO PKCS 0值填充
	PKCS_ZERO LkkPKCSType = 0
	// PKCS_SEVEN 即PKCS7
	PKCS_SEVEN LkkPKCSType = 7

	// COMPARE_ONLY_VALUE 仅比较值
	COMPARE_ONLY_VALUE LkkArrCompareType = 0
	// COMPARE_ONLY_KEY 仅比较键
	COMPARE_ONLY_KEY LkkArrCompareType = 1
	// COMPARE_BOTH_KEYVALUE 同时比较键和值
	COMPARE_BOTH_KEYVALUE LkkArrCompareType = 2

	//默认浮点数精确小数位数
	FLOAT_DECIMAL = 10

	//AuthCode 动态密钥长度,须<32
	DYNAMIC_KEY_LEN = 8

	//检查连接超时的时间
	CHECK_CONNECT_TIMEOUT = time.Second * 5

	// 正则模式-全中文
	PATTERN_CHINESE_ALL = "^[\u4e00-\u9fa5]+$"

	// 正则模式-中文名称
	PATTERN_CHINESE_NAME = "^[\u4e00-\u9fa5][.•·\u4e00-\u9fa5]{0,30}[\u4e00-\u9fa5]$"

	// 正则模式-多字节字符
	PATTERN_MULTIBYTE = "[^\x00-\x7F]"

	// 正则模式-ASCII字符
	PATTERN_ASCII = "^[\x00-\x7F]+$"

	// 正则模式-全角字符
	PATTERN_FULLWIDTH = "[^\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]"

	// 正则模式-半角字符
	PATTERN_HALFWIDTH = "[\u0020-\u007E\uFF61-\uFF9F\uFFA0-\uFFDC\uFFE8-\uFFEE0-9a-zA-Z]"

	// 正则模式-词语,不以下划线开头的中文、英文、数字、下划线
	PATTERN_WORD = "^[a-zA-Z0-9\u4e00-\u9fa5][a-zA-Z0-9_\u4e00-\u9fa5]+$"

	// 正则模式-浮点数
	PATTERN_FLOAT = `^(-?\d+)(\.\d+)?`

	// 正则模式-邮箱
	PATTERN_EMAIL = "" /* 133-byte string literal not displayed */

	// 正则模式-用户名-英文
	PATTERN_USERNAMEEN = `^[a-zA-Z0-9_.]+$`

	// 正则模式-大陆手机号
	PATTERN_MOBILECN = `^1[3-9]\d{9}$`

	// 正则模式-固定电话
	PATTERN_TEL_FIX = `^(010|02\d{1}|0[3-9]\d{2})-\d{7,9}(-\d+)?$`

	// 正则模式-400或800
	PATTERN_TEL_4800 = `^[48]00\d?(-?\d{3,4}){2}$`

	// 正则模式-座机号(固定电话或400或800)
	PATTERN_TELEPHONE = `(` + PATTERN_TEL_FIX + `)|(` + PATTERN_TEL_4800 + `)`

	// 正则模式-电话(手机或固话)
	PATTERN_PHONE = `(` + PATTERN_MOBILECN + `)|(` + PATTERN_TEL_FIX + `)`

	// 正则模式-日期时间
	PATTERN_DATETIME = `^[0-9]{4}(|\-[0-9]{2}(|\-[0-9]{2}(|\s+[0-9]{2}(|:[0-9]{2}(|:[0-9]{2})))))$`

	// 正则模式-身份证号码,18位或15位
	PATTERN_CREDIT_NO = `` /* 158-byte string literal not displayed */

	// 正则模式-小写英文
	PATTERN_ALPHA_LOWER = `^[a-z]+$`

	// 正则模式-大写英文
	PATTERN_ALPHA_UPPER = `^[A-Z]+$`

	// 正则模式-字母和数字
	PATTERN_ALPHA_NUMERIC = `^[a-zA-Z0-9]+$`

	// 正则模式-十六进制颜色
	PATTERN_HEXCOLOR = `^#?([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$`

	// 正则模式-RGB颜色
	PATTERN_RGBCOLOR = "" /* 157-byte string literal not displayed */

	// 正则模式-全空白字符
	PATTERN_WHITESPACE_ALL = "^[[:space:]]+$"

	// 正则模式-带空白字符
	PATTERN_WHITESPACE_HAS = ".*[[:space:]]"

	// 正则模式-连续空白符
	PATTERN_WHITESPACE_DUPLICATE = `[[:space:]]{2,}|[\s\p{Zs}]{2,}`

	// 正则模式-base64字符串
	PATTERN_BASE64 = "^(?:[A-Za-z0-9+\\/]{4})*(?:[A-Za-z0-9+\\/]{2}==|[A-Za-z0-9+\\/]{3}=|[A-Za-z0-9+\\/]{4})$"

	// 正则模式-base64编码图片
	PATTERN_BASE64_IMAGE = `^data:\s*(image|img)\/(\w+);base64`

	// 正则模式-html标签
	PATTERN_HTML_TAGS = `<(.|\n)*?>`

	// 正则模式-DNS名称
	PATTERN_DNSNAME = `^([a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62}){1}(\.[a-zA-Z0-9_]{1}[a-zA-Z0-9_-]{0,62})*[\._]?$`

	// 正则模式-MD5
	PATTERN_MD5 = `^(?i)([0-9a-h]{32})$`

	// 正则模式-SHA1
	PATTERN_SHA1 = `^(?i)([0-9a-h]{40})$`

	// 正则模式-SHA256
	PATTERN_SHA256 = `^(?i)([0-9a-h]{64})$`

	// 正则模式-SHA512
	PATTERN_SHA512 = `^(?i)([0-9a-h]{128})$`

	// 正则模式-emoji表情符
	PATTERN_EMOJI = `` /* 21966-byte string literal not displayed */
)

Variables

View Source
var (
	// Kuptime 当前服务启动时间
	Kuptime = time.Now()

	// KFile utilities
	KFile LkkFile

	// KStr utilities
	KStr LkkString

	// KNum utilities
	KNum LkkNumber

	// KArr utilities
	KArr LkkArray

	// KTime utilities
	KTime LkkTime

	// KConv utilities
	KConv LkkConvert

	// KOS utilities
	KOS LkkOS

	// KEncr utilities
	KEncr LkkEncrypt

	// KDbug utilities
	KDbug LkkDebug

	// KPrivCidrs 私有网段的CIDR数组
	KPrivCidrs []*net.IPNet

	// KDelimiter 本库自定义分隔符
	KDelimiter = "$@#KSYS#@$"

	// 身份证区域
	CreditArea = map[string]string{"11": "北京", "12": "天津", "13": "河北", "14": "山西", "15": "内蒙古", "21": "辽宁", "22": "吉林", "23": "黑龙江", " 31": "上海", "32": "江苏", "33": "浙江", "34": "安徽", "35": "福建", "36": "江西", "37": "山东", "41": "河南", "42": "湖北", "43": "湖南", "44": "广东", "45": "广西", "46": "海南", "50": "重庆", "51": "四川", "52": "贵州", "53": "云南", "54": "西藏", "61": "陕西", "62": "甘肃", "63": "青海", "64": "宁夏", "65": "新疆", "71": "台湾", "81": "香港", "82": "澳门", "91": "国外"}

	// html抽取文本要排除的标签
	TextHtmlExcludeTags = []string{"head", "title", "img", "form", "textarea", "input", "select", "button", "iframe", "script", "style", "option"}

	// 已编译的正则
	RegFormatDir             = regexp.MustCompile(`[\/]{2,}`) //连续的"//"或"\\"或"\/"或"/\"
	RegChineseAll            = regexp.MustCompile(PATTERN_CHINESE_ALL)
	RegChineseName           = regexp.MustCompile(PATTERN_CHINESE_NAME)
	RegWord                  = regexp.MustCompile(PATTERN_WORD)
	RegMultiByte             = regexp.MustCompile(PATTERN_MULTIBYTE)
	RegFullWidth             = regexp.MustCompile(PATTERN_FULLWIDTH)
	RegHalfWidth             = regexp.MustCompile(PATTERN_HALFWIDTH)
	RegFloat                 = regexp.MustCompile(PATTERN_FLOAT)
	RegEmail                 = regexp.MustCompile(PATTERN_EMAIL)
	RegMobilecn              = regexp.MustCompile(PATTERN_MOBILECN)
	RegTelephone             = regexp.MustCompile(PATTERN_TELEPHONE)
	RegPhone                 = regexp.MustCompile(PATTERN_PHONE)
	RegDatetime              = regexp.MustCompile(PATTERN_DATETIME)
	RegCreditno              = regexp.MustCompile(PATTERN_CREDIT_NO)
	RegAlphaLower            = regexp.MustCompile(PATTERN_ALPHA_LOWER)
	RegAlphaUpper            = regexp.MustCompile(PATTERN_ALPHA_UPPER)
	RegAlphaNumeric          = regexp.MustCompile(PATTERN_ALPHA_NUMERIC)
	RegHexcolor              = regexp.MustCompile(PATTERN_HEXCOLOR)
	RegRgbcolor              = regexp.MustCompile(PATTERN_RGBCOLOR)
	RegWhitespace            = regexp.MustCompile(`\s`)
	RegWhitespaceAll         = regexp.MustCompile(PATTERN_WHITESPACE_ALL)
	RegWhitespaceHas         = regexp.MustCompile(PATTERN_WHITESPACE_HAS)
	RegWhitespaceDuplicate   = regexp.MustCompile(PATTERN_WHITESPACE_DUPLICATE)
	RegBase64                = regexp.MustCompile(PATTERN_BASE64)
	RegBase64Image           = regexp.MustCompile(PATTERN_BASE64_IMAGE)
	RegHtmlTag               = regexp.MustCompile(PATTERN_HTML_TAGS)
	RegDNSname               = regexp.MustCompile(PATTERN_DNSNAME)
	RegUrlBackslashDuplicate = regexp.MustCompile(`([^:])[\/]{2,}`) //url中连续的"//"或"\\"或"\/"或"/\"
	RegMd5                   = regexp.MustCompile(PATTERN_MD5)
	RegSha1                  = regexp.MustCompile(PATTERN_SHA1)
	RegSha256                = regexp.MustCompile(PATTERN_SHA256)
	RegSha512                = regexp.MustCompile(PATTERN_SHA512)
	RegEmoji                 = regexp.MustCompile(PATTERN_EMOJI)
	RegUsernameen            = regexp.MustCompile(PATTERN_USERNAMEEN)
)

Functions

func CallFunc

func CallFunc(f interface{}, args ...interface{}) (results []interface{}, err error)

CallFunc 动态调用函数.

func ValidFunc

func ValidFunc(f interface{}, args ...interface{}) (vf reflect.Value, vargs []reflect.Value, err error)

ValidFunc 检查是否函数,并且参数个数、类型是否正确. 返回有效的函数、有效的参数.

Types

type BiosInfo

type BiosInfo struct {
	Vendor  string `json:"vendor"`
	Version string `json:"version"`
	Date    string `json:"date"`
}

BiosInfo BIOS信息

type BoardInfo

type BoardInfo struct {
	Name     string `json:"name"`
	Vendor   string `json:"vendor"`
	Version  string `json:"version"`
	Serial   string `json:"serial"`
	AssetTag string `json:"assettag"`
}

BoardInfo Board信息

type CallBack

type CallBack func()

CallBack 回调执行函数,无参数且无返回值

type CpuInfo

type CpuInfo struct {
	Vendor  string `json:"vendor"`
	Model   string `json:"model"`
	Speed   string `json:"speed"`   // CPU clock rate in MHz
	Cache   uint   `json:"cache"`   // CPU cache size in KB
	Cpus    uint   `json:"cpus"`    // number of physical CPUs
	Cores   uint   `json:"cores"`   // number of physical CPU cores
	Threads uint   `json:"threads"` // number of logical (HT) CPU cores
}

CpuInfo CPU信息

type FileFilter

type FileFilter func(string) bool

FileFilter 文件过滤函数

type LkkArrCompareType added in v0.1.7

type LkkArrCompareType uint8

LkkArrCompareType 枚举类型,数组比较方式

type LkkArray

type LkkArray byte

LkkArray is the receiver of array utilities

func (*LkkArray) ArrayChunk

func (ka *LkkArray) ArrayChunk(arr interface{}, size int) [][]interface{}

ArrayChunk 将一个数组/切片分割成多个,size为每个子数组的长度.

func (*LkkArray) ArrayColumn

func (ka *LkkArray) ArrayColumn(arr interface{}, columnKey string) []interface{}

ArrayColumn 返回数组(切片/字典)中元素指定的一列. arr的元素必须是字典; columnKey为元素的字段名; 该方法效率较低.

func (*LkkArray) ArrayDiff

func (ka *LkkArray) ArrayDiff(arr1, arr2 interface{}, compareType LkkArrCompareType) map[interface{}]interface{}

ArrayDiff 计算数组(数组/切片/字典)的交集,返回在 arr1 中但不在 arr2 里的元素,注意会同时返回键. compareType为两个数组的比较方式,枚举类型,有: COMPARE_ONLY_VALUE 根据元素值比较, 返回在 arr1 中但是不在arr2 里的值; COMPARE_ONLY_KEY 根据 arr1 中的键名和 arr2 进行比较,返回不同键名的项; COMPARE_BOTH_KEYVALUE 同时比较键和值.

func (*LkkArray) ArrayFill

func (ka *LkkArray) ArrayFill(value interface{}, num int) []interface{}

ArrayFill 用给定的值value填充数组,num为插入元素的数量.

func (*LkkArray) ArrayFlip

func (ka *LkkArray) ArrayFlip(arr interface{}) map[interface{}]interface{}

ArrayFlip 交换数组(切片/字典)中的键和值.

func (*LkkArray) ArrayIntersect

func (ka *LkkArray) ArrayIntersect(arr1, arr2 interface{}, compareType LkkArrCompareType) map[interface{}]interface{}

ArrayIntersect 计算数组(数组/切片/字典)的交集,返回在 arr1 中且在 arr2 里的元素,注意会同时返回键. compareType为两个数组的比较方式,枚举类型,有: COMPARE_ONLY_VALUE 根据元素值比较, 返回在 arr1 中且在arr2 里的值; COMPARE_ONLY_KEY 根据 arr1 中的键名和 arr2 进行比较,返回相同键名的项; COMPARE_BOTH_KEYVALUE 同时比较键和值.

func (*LkkArray) ArrayKeyExists

func (ka *LkkArray) ArrayKeyExists(key interface{}, arr interface{}) bool

ArrayKeyExists 检查数组里是否有指定的键名或索引.

func (*LkkArray) ArrayKeys

func (ka *LkkArray) ArrayKeys(arr interface{}) []interface{}

ArrayKeys 返回数组(切片/字典)中所有的键名.

func (*LkkArray) ArrayPad

func (ka *LkkArray) ArrayPad(arr interface{}, size int, item interface{}) []interface{}

ArrayPad 以指定长度将一个值item填充进arr数组/切片. 若 size 为正,则填补到数组的右侧,如果为负则从左侧开始填补; 若 size 的绝对值小于或等于 arr 数组的长度则没有任何填补.

func (*LkkArray) ArrayPop

func (ka *LkkArray) ArrayPop(s *[]interface{}) interface{}

ArrayPop 弹出数组最后一个元素(出栈),并返回该元素.

func (*LkkArray) ArrayPush

func (ka *LkkArray) ArrayPush(s *[]interface{}, elements ...interface{}) int

ArrayPush 将一个或多个元素压入数组的末尾(入栈),返回处理之后数组的元素个数.

func (*LkkArray) ArrayRand

func (ka *LkkArray) ArrayRand(arr interface{}, num int) []interface{}

ArrayRand 从数组/切片中随机取出num个单元.

func (*LkkArray) ArrayReverse

func (ka *LkkArray) ArrayReverse(arr interface{}) []interface{}

ArrayReverse 返回单元顺序相反的数组(仅限数组和切片).

func (*LkkArray) ArraySearchItem

func (ka *LkkArray) ArraySearchItem(arr interface{}, condition map[string]interface{}) (res interface{})

ArraySearchItem 从数组中搜索对应元素(单个). arr为要查找的数组,元素必须为字典;condition为条件字典.

func (*LkkArray) ArraySearchMutil

func (ka *LkkArray) ArraySearchMutil(arr interface{}, condition map[string]interface{}) (res []interface{})

ArraySearchMutil 从数组中搜索对应元素(多个). arr为要查找的数组,元素必须为字典;condition为条件字典.

func (*LkkArray) ArrayShift

func (ka *LkkArray) ArrayShift(s *[]interface{}) interface{}

ArrayShift 将数组开头的元素移出数组,并返回该元素.

func (*LkkArray) ArraySlice

func (ka *LkkArray) ArraySlice(arr interface{}, offset, size int) []interface{}

ArraySlice 返回根据 offset 和 size 参数所指定的 arr 数组/切片中的一段切片.

func (*LkkArray) ArrayUnique

func (ka *LkkArray) ArrayUnique(arr interface{}) []interface{}

ArrayUnique 移除数组中重复的值.

func (*LkkArray) ArrayUnshift

func (ka *LkkArray) ArrayUnshift(s *[]interface{}, elements ...interface{}) int

ArrayUnshift 在数组开头插入一个或多个元素,返回处理之后数组的元素个数.

func (*LkkArray) ArrayValues

func (ka *LkkArray) ArrayValues(arr interface{}, filterNil bool) []interface{}

ArrayValues 返回数组(切片/字典)中所有的值. filterNil是否过滤空元素(nil,”),true时排除空元素,false时保留空元素.

func (*LkkArray) DeleteSliceItems added in v0.1.7

func (ka *LkkArray) DeleteSliceItems(val interface{}, ids ...int) (res []interface{}, del int)

DeleteSliceItems 删除数组/切片的元素,返回一个新切片. ids为多个元素的索引(0~len(val)-1); del为删除元素的数量.

func (*LkkArray) Implode

func (ka *LkkArray) Implode(delimiter string, arr interface{}) string

Implode 用delimiter将数组(数组/切片/字典)的值连接为一个字符串.

func (*LkkArray) InArray

func (ka *LkkArray) InArray(needle interface{}, haystack interface{}) bool

InArray 元素needle 是否在数组haystack(切片/字典)内.

func (*LkkArray) InInt64Slice

func (ka *LkkArray) InInt64Slice(i int64, list []int64) bool

InInt64Slice 是否在64位整型数组/切片内.

func (*LkkArray) InIntSlice

func (ka *LkkArray) InIntSlice(i int, list []int) bool

InIntSlice 是否在整型数组/切片内.

func (*LkkArray) InStringSlice

func (ka *LkkArray) InStringSlice(str string, list []string) bool

InStringSlice 是否在字符串数组/切片内.

func (*LkkArray) IsArrayOrSlice

func (ka *LkkArray) IsArrayOrSlice(val interface{}, chkType uint8) int

IsArrayOrSlice 检查变量是否数组或切片. chkType检查类型,枚举值有(1仅数组,2仅切片,3数组或切片);结果为-1表示非,>=0表示是

func (*LkkArray) IsEqualArray

func (ka *LkkArray) IsEqualArray(expected, actual interface{}) bool

IsEqualArray 两个数组/切片是否相同(不管元素顺序). expected, actual 是要比较的数组/切片.

func (*LkkArray) IsMap

func (ka *LkkArray) IsMap(val interface{}) bool

IsMap 检查变量是否字典.

func (*LkkArray) JoinInts

func (ka *LkkArray) JoinInts(ints []int, delimiter string) (res string)

JoinInts 使用分隔符delimiter连接整数数组.

func (*LkkArray) JoinStrings

func (ka *LkkArray) JoinStrings(strs []string, delimiter string) (res string)

JoinStrings 使用分隔符delimiter连接字符串数组.效率比Implode高.

func (*LkkArray) MergeMap

func (ka *LkkArray) MergeMap(key2Str bool, ss ...interface{}) map[interface{}]interface{}

MergeMap 合并字典. 相同的键名时,后面的值将覆盖前一个值;key2Str是否将键转换为字符串;ss是元素为字典的数组.

func (*LkkArray) MergeSlice

func (ka *LkkArray) MergeSlice(filterNil bool, ss ...interface{}) []interface{}

MergeSlice 合并一个或多个数组/切片. filterNil是否过滤空元素(nil,”),true时排除空元素,false时保留空元素;ss是元素为数组/切片的数组.

func (*LkkArray) Unique64Ints

func (ka *LkkArray) Unique64Ints(ints []int64) (res []int64)

Unique64Ints 移除64位整数数组中的重复值.

func (*LkkArray) UniqueInts

func (ka *LkkArray) UniqueInts(ints []int) (res []int)

UniqueInts 移除整数数组中的重复值.

func (*LkkArray) UniqueStrings

func (ka *LkkArray) UniqueStrings(strs []string) (res []string)

UniqueStrings 移除字符串数组中的重复值.

type LkkCaseSwitch

type LkkCaseSwitch uint8

LkkCaseSwitch 枚举类型,大小写开关

type LkkConvert

type LkkConvert byte

LkkConvert is the receiver of convert utilities

func (*LkkConvert) BaseConvert

func (kc *LkkConvert) BaseConvert(number string, frombase, tobase int) (string, error)

BaseConvert 进制转换,在任意进制之间转换数字. number为输入数值,frombase为原进制,tobase为结果进制.

func (*LkkConvert) Bin2Dec

func (kc *LkkConvert) Bin2Dec(str string) (int64, error)

Bin2Dec 将二进制转换为十进制.

func (*LkkConvert) Bin2Hex

func (kc *LkkConvert) Bin2Hex(str string) (string, error)

Bin2Hex 将二进制字符串转换为十六进制字符串.

func (*LkkConvert) Bool2Int

func (kc *LkkConvert) Bool2Int(val bool) int

Bool2Int 将布尔值转换为整型.

func (*LkkConvert) Bool2Str

func (kc *LkkConvert) Bool2Str(val bool) string

Bool2Str 将布尔值转换为字符串.

func (*LkkConvert) Byte2Float64

func (kc *LkkConvert) Byte2Float64(bytes []byte) float64

Byte2Float64 字节切片转64位浮点数.

func (*LkkConvert) Byte2Hex

func (kc *LkkConvert) Byte2Hex(val []byte) string

Byte2Hex 字节切片转16进制字符串.

func (*LkkConvert) Byte2Hexs

func (kc *LkkConvert) Byte2Hexs(val []byte) []byte

Byte2Hexs 字节切片转16进制切片.

func (*LkkConvert) Byte2Int64

func (kc *LkkConvert) Byte2Int64(val []byte) int64

Byte2Int64 字节切片转64位整型.

func (*LkkConvert) Bytes2Str

func (kc *LkkConvert) Bytes2Str(val []byte) string

Bytes2Str 将字节切片转换为字符串. 零拷贝,不安全.效率是string([]byte{})的百倍以上,且转换量越大效率优势越明显.

func (*LkkConvert) Dec2Bin

func (kc *LkkConvert) Dec2Bin(number int64) string

Dec2Bin 将十进制转换为二进制.

func (*LkkConvert) Dec2Hex

func (kc *LkkConvert) Dec2Hex(number int64) string

Dec2Hex 将十进制转换为十六进制.

func (*LkkConvert) Dec2Oct

func (kc *LkkConvert) Dec2Oct(number int64) string

Dec2Oct 将十进制转换为八进制.

func (*LkkConvert) Float2Str

func (kc *LkkConvert) Float2Str(val interface{}, decimal int) string

Float2Str 将浮点数转换为字符串,decimal为小数位数.

func (*LkkConvert) Float64ToByte

func (kc *LkkConvert) Float64ToByte(val float64) []byte

Float64ToByte 64位浮点数转字节切片.

func (*LkkConvert) GetPointerAddrInt

func (kc *LkkConvert) GetPointerAddrInt(variable interface{}) int64

GetPointerAddrInt 获取变量指针地址整型值.variable为变量.

func (*LkkConvert) Gettype

func (kc *LkkConvert) Gettype(v interface{}) string

Gettype 获取变量类型.

func (*LkkConvert) Hex2Bin

func (kc *LkkConvert) Hex2Bin(data string) (string, error)

Hex2Bin 将十六进制字符串转换为二进制字符串.

func (*LkkConvert) Hex2Byte

func (kc *LkkConvert) Hex2Byte(str string) []byte

Hex2Byte 16进制字符串转字节切片.

func (*LkkConvert) Hex2Dec

func (kc *LkkConvert) Hex2Dec(str string) (int64, error)

Hex2Dec 将十六进制转换为十进制.

func (*LkkConvert) Hexs2Byte

func (kc *LkkConvert) Hexs2Byte(val []byte) []byte

Hexs2Byte 16进制切片转byte切片.

func (*LkkConvert) Int2Str

func (kc *LkkConvert) Int2Str(val interface{}) string

Int2Str 将整数转换为字符串.

func (*LkkConvert) Int64ToByte

func (kc *LkkConvert) Int64ToByte(val int64) []byte

Int64ToByte 64位整型转字节切片.

func (*LkkConvert) Ip2Long

func (kc *LkkConvert) Ip2Long(ipAddress string) uint32

Ip2Long 将 IPV4 的字符串互联网协议转换成长整型数字.

func (*LkkConvert) IsBinary

func (kc *LkkConvert) IsBinary(s string) bool

IsBinary 字符串是否二进制.

func (*LkkConvert) IsBool

func (kc *LkkConvert) IsBool(val interface{}) bool

IsBool 是否布尔值.

func (*LkkConvert) IsByte

func (kc *LkkConvert) IsByte(val interface{}) bool

IsByte 变量是否字节切片.

func (*LkkConvert) IsEmpty

func (kc *LkkConvert) IsEmpty(val interface{}) bool

IsEmpty 检查变量是否为空.

func (*LkkConvert) IsFloat

func (kc *LkkConvert) IsFloat(val interface{}) bool

IsFloat 变量是否浮点数值.

func (*LkkConvert) IsHex

func (kc *LkkConvert) IsHex(str string) bool

IsHex 是否十六进制字符串.

func (*LkkConvert) IsInt

func (kc *LkkConvert) IsInt(val interface{}) bool

IsInt 变量是否整型数值.

func (*LkkConvert) IsInterface

func (kc *LkkConvert) IsInterface(val interface{}) bool

IsInterface 变量是否接口.

func (*LkkConvert) IsNil

func (kc *LkkConvert) IsNil(val interface{}) bool

IsNil 检查变量是否空值.

func (*LkkConvert) IsNumeric

func (kc *LkkConvert) IsNumeric(val interface{}) bool

IsNumeric 变量是否数值(不包含复数和科学计数法).

func (*LkkConvert) IsString

func (kc *LkkConvert) IsString(val interface{}) bool

IsString 变量是否字符串.

func (*LkkConvert) IsStruct

func (kc *LkkConvert) IsStruct(val interface{}) bool

IsStruct 变量是否结构体.

func (*LkkConvert) Long2Ip

func (kc *LkkConvert) Long2Ip(properAddress uint32) string

Long2Ip 将长整型转化为字符串形式带点的互联网标准格式地址(IPV4).

func (*LkkConvert) Oct2Dec

func (kc *LkkConvert) Oct2Dec(str string) (int64, error)

Oct2Dec 将八进制转换为十进制.

func (*LkkConvert) Runes2Bytes

func (kc *LkkConvert) Runes2Bytes(rs []rune) []byte

Runes2Bytes 将[]rune转为[]byte.

func (*LkkConvert) Str2Bool

func (kc *LkkConvert) Str2Bool(val string) (res bool)

Str2Bool 将字符串转换为布尔值. 1, t, T, TRUE, true, True 等字符串为真. 0, f, F, FALSE, false, False 等字符串为假.

func (*LkkConvert) Str2Bytes

func (kc *LkkConvert) Str2Bytes(val string) []byte

Str2Bytes 将字符串转换为字节切片. 该方法零拷贝,但不安全.它直接转换底层指针,两者指向的相同的内存,改一个另外一个也会变. 仅当临时需将长字符串转换且不长时间保存时可以使用. 转换之后若没做其他操作直接改变里面的字符,则程序会崩溃. 如 b:=String2bytes("xxx"); b[1]='d'; 程序将panic.

func (*LkkConvert) Str2Float32

func (kc *LkkConvert) Str2Float32(val string) float32

Str2Float32 将字符串转换为float32.

func (*LkkConvert) Str2Float64

func (kc *LkkConvert) Str2Float64(val string) (res float64)

Str2Float64 将字符串转换为float64.其中"true", "TRUE", "True"为1.0 .

func (*LkkConvert) Str2FloatStrict

func (kc *LkkConvert) Str2FloatStrict(val string, bitSize int, strict bool) float64

Str2FloatStrict 严格将字符串转换为浮点型. bitSize为类型位数,strict为是否严格检查.

func (*LkkConvert) Str2Int

func (kc *LkkConvert) Str2Int(val string) (res int)

Str2Int 将字符串转换为int.其中"true", "TRUE", "True"为1.

func (*LkkConvert) Str2Int16

func (kc *LkkConvert) Str2Int16(val string) int16

Str2Int16 将字符串转换为int16.

func (*LkkConvert) Str2Int32

func (kc *LkkConvert) Str2Int32(val string) int32

Str2Int32 将字符串转换为int32.

func (*LkkConvert) Str2Int64

func (kc *LkkConvert) Str2Int64(val string) int64

Str2Int64 将字符串转换为int64.

func (*LkkConvert) Str2Int8

func (kc *LkkConvert) Str2Int8(val string) int8

Str2Int8 将字符串转换为int8.

func (*LkkConvert) Str2IntStrict

func (kc *LkkConvert) Str2IntStrict(val string, bitSize int, strict bool) int64

Str2IntStrict 严格将字符串转换为有符号整型. bitSize为类型位数,strict为是否严格检查.

func (*LkkConvert) Str2Uint

func (kc *LkkConvert) Str2Uint(val string) uint

Str2Uint 将字符串转换为uint.

func (*LkkConvert) Str2Uint16

func (kc *LkkConvert) Str2Uint16(val string) uint16

Str2Uint16 将字符串转换为uint16.

func (*LkkConvert) Str2Uint32

func (kc *LkkConvert) Str2Uint32(val string) uint32

Str2Uint32 将字符串转换为uint32.

func (*LkkConvert) Str2Uint64

func (kc *LkkConvert) Str2Uint64(val string) uint64

Str2Uint64 将字符串转换为uint64.

func (*LkkConvert) Str2Uint8

func (kc *LkkConvert) Str2Uint8(val string) uint8

Str2Uint8 将字符串转换为uint8.

func (*LkkConvert) Str2UintStrict

func (kc *LkkConvert) Str2UintStrict(val string, bitSize int, strict bool) uint64

Str2UintStrict 严格将字符串转换为无符号整型,bitSize为类型位数,strict为是否严格检查

func (*LkkConvert) ToBool

func (kc *LkkConvert) ToBool(val interface{}) bool

ToBool 强制将变量转换为布尔值.

func (*LkkConvert) ToFloat

func (kc *LkkConvert) ToFloat(val interface{}) (res float64)

ToFloat 强制将变量转换为浮点型;其中true或"true"为1.0 .

func (*LkkConvert) ToInt

func (kc *LkkConvert) ToInt(val interface{}) int

ToInt 强制将变量转换为整型;其中true或"true"为1.

func (*LkkConvert) ToStr

func (kc *LkkConvert) ToStr(val interface{}) string

ToStr 强制将变量转换为字符串.

type LkkDebug

type LkkDebug byte

LkkDebug is the receiver of debug utilities

func (*LkkDebug) CallMethod

func (kd *LkkDebug) CallMethod(t interface{}, method string, args ...interface{}) ([]interface{}, error)

CallMethod 调用对象的方法. 若执行成功,则结果是该方法的返回结果; 否则返回(nil, error)

func (*LkkDebug) DumpStacks

func (kd *LkkDebug) DumpStacks()

DumpStacks 打印堆栈信息.

func (*LkkDebug) GetFuncDir

func (kd *LkkDebug) GetFuncDir() string

GetFuncDir 获取调用方法的文件目录.

func (*LkkDebug) GetFuncFile

func (kd *LkkDebug) GetFuncFile() string

GetFuncFile 获取调用方法的文件路径.

func (*LkkDebug) GetFuncLine

func (kd *LkkDebug) GetFuncLine() int

GetFuncLine 获取调用方法的行号.

func (*LkkDebug) GetFuncName

func (kd *LkkDebug) GetFuncName(f interface{}, onlyFun ...bool) string

GetFunctionName 获取调用方法的名称;f为目标方法;onlyFun为true时仅返回方法,不包括包名.

func (*LkkDebug) GetFuncPackage

func (kd *LkkDebug) GetFuncPackage(funcFile ...string) string

GetFuncPackage 获取调用方法或源文件的包名.funcFile为源文件路径.

func (*LkkDebug) GetMethod

func (kd *LkkDebug) GetMethod(t interface{}, method string) interface{}

GetMethod 获取对象中的方法. 注意:返回的该方法中的第一个参数是接收者. 所以,调用该方法时,必须将接收者作为第一个参数传递.

func (*LkkDebug) HasMethod

func (kd *LkkDebug) HasMethod(t interface{}, method string) bool

HasMethod 检查对象是否具有某方法.

type LkkEncrypt

type LkkEncrypt byte

LkkEncrypt is the receiver of encrypt utilities

func (*LkkEncrypt) AesCBCDecrypt

func (ke *LkkEncrypt) AesCBCDecrypt(cipherText, key []byte, paddingType ...LkkPKCSType) ([]byte, error)

AesCBCDecrypt AES-CBC密码分组链接(Cipher-block chaining)模式解密. cipherText为密文;key为密钥,长16/24/32;paddingType为填充方式,枚举(PKCS_NONE,PKCS_ZERO,PKCS_SEVEN),默认PKCS_SEVEN.

func (*LkkEncrypt) AesCBCEncrypt

func (ke *LkkEncrypt) AesCBCEncrypt(clearText, key []byte, paddingType ...LkkPKCSType) ([]byte, error)

AesCBCEncrypt AES-CBC密码分组链接(Cipher-block chaining)模式加密.加密无法并行,不适合对流数据加密. clearText为明文;key为密钥,长16/24/32;paddingType为填充方式,枚举(PKCS_ZERO,PKCS_SEVEN),默认PKCS_SEVEN.

func (*LkkEncrypt) AesCFBDecrypt

func (ke *LkkEncrypt) AesCFBDecrypt(cipherText, key []byte) ([]byte, error)

AesCFBDecrypt AES-CFB密文反馈(Cipher feedback)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*LkkEncrypt) AesCFBEncrypt

func (ke *LkkEncrypt) AesCFBEncrypt(clearText, key []byte) ([]byte, error)

AesCFBEncrypt AES-CFB密文反馈(Cipher feedback)模式加密.适合对流数据加密. clearText为明文;key为密钥,长16/24/32.

func (*LkkEncrypt) AesCTRDecrypt

func (ke *LkkEncrypt) AesCTRDecrypt(cipherText, key []byte) ([]byte, error)

AesECBDecrypt AES-CTR计算器(Counter)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*LkkEncrypt) AesCTREncrypt

func (ke *LkkEncrypt) AesCTREncrypt(clearText, key []byte) ([]byte, error)

AesECBEncrypt AES-CTR计算器(Counter)模式加密. clearText为明文;key为密钥,长16/24/32.

func (*LkkEncrypt) AesOFBDecrypt

func (ke *LkkEncrypt) AesOFBDecrypt(cipherText, key []byte) ([]byte, error)

AesOFBDecrypt AES-OFB输出反馈(Output feedback)模式解密. cipherText为密文;key为密钥,长16/24/32.

func (*LkkEncrypt) AesOFBEncrypt

func (ke *LkkEncrypt) AesOFBEncrypt(clearText, key []byte) ([]byte, error)

AesOFBEncrypt AES-OFB输出反馈(Output feedback)模式加密.适合对流数据加密. clearText为明文;key为密钥,长16/24/32.

func (*LkkEncrypt) AuthCode

func (ke *LkkEncrypt) AuthCode(str, key []byte, encode bool, expiry int64) ([]byte, int64)

AuthCode 授权码编码或解码;encode为true时编码,为false解码;expiry为有效期,秒;返回结果为加密/解密的字符串和有效期时间戳.

func (*LkkEncrypt) Base64Decode

func (ke *LkkEncrypt) Base64Decode(str []byte) ([]byte, error)

Base64Decode 对使用 MIME base64 编码的数据进行解码.

func (*LkkEncrypt) Base64Encode

func (ke *LkkEncrypt) Base64Encode(str []byte) []byte

Base64Encode 使用 MIME base64 对数据进行编码.

func (*LkkEncrypt) Base64UrlDecode

func (ke *LkkEncrypt) Base64UrlDecode(data []byte) ([]byte, error)

Base64UrlDecode url安全的Base64Decode.

func (*LkkEncrypt) Base64UrlEncode

func (ke *LkkEncrypt) Base64UrlEncode(source []byte) []byte

Base64UrlSafeEncode url安全的Base64Encode,没有'/'和'+'及结尾的'=' .

func (*LkkEncrypt) EasyDecrypt

func (ke *LkkEncrypt) EasyDecrypt(val, key []byte) []byte

EasyDecrypt 简单解密. val为待解密的字符串,key为密钥.

func (*LkkEncrypt) EasyEncrypt

func (ke *LkkEncrypt) EasyEncrypt(data, key []byte) []byte

EasyEncrypt 简单加密. data为要加密的原字符串,key为密钥.

func (*LkkEncrypt) GenerateRsaKeys

func (ke *LkkEncrypt) GenerateRsaKeys(bits int) (private []byte, public []byte, err error)

GenerateRsaKeys 生成RSA密钥对.bits为密钥位数,通常为1024或2048.

func (*LkkEncrypt) HmacShaX

func (ke *LkkEncrypt) HmacShaX(data, secret []byte, x uint16) []byte

HmacShaX HmacSHA-x加密,x为1/256/512 .

func (*LkkEncrypt) PasswordHash

func (ke *LkkEncrypt) PasswordHash(password []byte, costs ...int) ([]byte, error)

PasswordHash 创建密码的散列值;costs为算法的cost,范围4~31,默认10;注意:值越大越耗时.

func (*LkkEncrypt) PasswordVerify

func (ke *LkkEncrypt) PasswordVerify(password, hash []byte) bool

PasswordVerify 验证密码是否和散列值匹配.

func (*LkkEncrypt) RsaPrivateDecrypt

func (ke *LkkEncrypt) RsaPrivateDecrypt(cipherText, privateKey []byte) ([]byte, error)

RsaPrivateDecrypt RSA私钥解密.比加密耗时. cipherText为密文,privateKey为私钥.

func (*LkkEncrypt) RsaPrivateEncrypt

func (ke *LkkEncrypt) RsaPrivateEncrypt(clearText, privateKey []byte) ([]byte, error)

RsaPrivateEncrypt RSA私钥加密.比解密耗时. clearText为明文,privateKey为私钥.

func (*LkkEncrypt) RsaPublicDecrypt

func (ke *LkkEncrypt) RsaPublicDecrypt(cipherText, publicKey []byte) ([]byte, error)

RsaPublicDecrypt RSA公钥解密. cipherText为密文,publicKey为公钥.

func (*LkkEncrypt) RsaPublicEncrypt

func (ke *LkkEncrypt) RsaPublicEncrypt(clearText, publicKey []byte) ([]byte, error)

RsaPublicEncrypt RSA公钥加密. clearText为明文,publicKey为公钥.

type LkkFile

type LkkFile byte

LkkFile is the receiver of file utilities

func (*LkkFile) AbsPath

func (kf *LkkFile) AbsPath(fpath string) string

AbsPath 获取绝对路径,path可允许不存在.

func (*LkkFile) AppendFile

func (kf *LkkFile) AppendFile(fpath string, data []byte) error

AppendFile 插入文件内容.

func (*LkkFile) Basename

func (kf *LkkFile) Basename(fpath string) string

Basename 返回路径中的文件名部分.

func (*LkkFile) ChmodBatch

func (kf *LkkFile) ChmodBatch(fpath string, filemode, dirmode os.FileMode) (res bool)

ChmodBatch 批量改变路径权限模式(包括子目录和所属文件).filemode为文件权限模式,dirmode为目录权限模式.

func (*LkkFile) CopyDir

func (kf *LkkFile) CopyDir(source string, dest string, cover LkkFileCover) (int64, error)

CopyDir 拷贝源目录到目标目录,cover为枚举(FILE_COVER_ALLOW、FILE_COVER_IGNORE、FILE_COVER_DENY).

func (*LkkFile) CopyFile

func (kf *LkkFile) CopyFile(source string, dest string, cover LkkFileCover) (int64, error)

CopyFile 拷贝源文件到目标文件,cover为枚举(FILE_COVER_ALLOW、FILE_COVER_IGNORE、FILE_COVER_DENY).

func (kf *LkkFile) CopyLink(source string, dest string) error

CopyLink 拷贝链接.

func (*LkkFile) CountLines

func (kf *LkkFile) CountLines(fpath string, buffLength int) (int, error)

CountLines 统计文件行数.buffLength为缓冲长度,kb.

func (*LkkFile) DelDir

func (kf *LkkFile) DelDir(dir string, delRoot bool) error

DelDir 删除目录;delRoot为true时连该目录一起删除;为false时只清空该目录.

func (*LkkFile) DirSize

func (kf *LkkFile) DirSize(fpath string) int64

DirSize 获取目录大小(bytes字节).

func (*LkkFile) Dirname

func (kf *LkkFile) Dirname(fpath string) string

Dirname 返回路径中的目录部分,注意空路径或无目录的返回"." .

func (*LkkFile) FastCopy

func (kf *LkkFile) FastCopy(source string, dest string) (int64, error)

FastCopy 快速拷贝源文件到目标文件,不做安全检查.

func (*LkkFile) FileSize

func (kf *LkkFile) FileSize(fpath string) int64

FileSize 获取文件大小(bytes字节),注意:文件不存在或无法访问返回-1 .

func (*LkkFile) FileTree

func (kf *LkkFile) FileTree(fpath string, ftype LkkFileTree, recursive bool, filters ...FileFilter) []string

FileTree 获取目录的文件树列表. ftype为枚举(FILE_TREE_ALL、FILE_TREE_DIR、FILE_TREE_FILE); recursive为是否递归; filters为一个或多个文件过滤器函数,FileFilter类型.

func (*LkkFile) FormatDir

func (kf *LkkFile) FormatDir(fpath string) string

FormatDir 格式化目录,将"\","//"替换为"/",且以"/"结尾.

func (*LkkFile) FormatPath

func (kf *LkkFile) FormatPath(fpath string) string

FormatPath 格式化路径

func (*LkkFile) GetExt

func (kf *LkkFile) GetExt(fpath string) string

GetExt 获取文件的小写扩展名,不包括点"." .

func (*LkkFile) GetFileMode

func (kf *LkkFile) GetFileMode(fpath string) (os.FileMode, error)

GetFileMode 获取路径的权限模式.

func (*LkkFile) GetMime

func (kf *LkkFile) GetMime(fpath string, fast bool) string

GetMime 获取文件mime类型;fast为true时根据后缀快速获取;为false时读取文件头获取.

func (*LkkFile) GetModTime

func (kf *LkkFile) GetModTime(fpath string) (res int64)

GetModTime 获取文件的修改时间戳,秒.

func (*LkkFile) Glob

func (kf *LkkFile) Glob(pattern string) ([]string, error)

Glob 寻找与模式匹配的文件路径.

func (*LkkFile) Img2Base64

func (kf *LkkFile) Img2Base64(fpath string) (string, error)

Img2Base64 读取图片文件,并转换为base64字符串.

func (*LkkFile) IsBinary

func (kf *LkkFile) IsBinary(fpath string) bool

IsBinary 是否二进制文件(且存在).

func (*LkkFile) IsDir

func (kf *LkkFile) IsDir(fpath string) bool

IsDir 是否目录(且存在).

func (*LkkFile) IsExecutable

func (kf *LkkFile) IsExecutable(fpath string) bool

IsExecutable 是否可执行文件.

func (*LkkFile) IsExist

func (kf *LkkFile) IsExist(fpath string) bool

IsExist 路径(文件/目录)是否存在.

func (*LkkFile) IsFile

func (kf *LkkFile) IsFile(fpath string, ftype ...LkkFileType) (res bool)

IsFile 是否(某类型)文件,且存在. ftype为枚举(FILE_TYPE_ANY、FILE_TYPE_LINK、FILE_TYPE_REGULAR、FILE_TYPE_COMMON),默认FILE_TYPE_ANY;

func (*LkkFile) IsImg

func (kf *LkkFile) IsImg(fpath string) bool

IsImg 是否图片文件(仅检查后缀).

func (kf *LkkFile) IsLink(fpath string) bool

IsLink 是否链接文件(且存在).

func (*LkkFile) IsReadable

func (kf *LkkFile) IsReadable(fpath string) bool

IsReadable 路径是否可读.

func (*LkkFile) IsWritable

func (kf *LkkFile) IsWritable(fpath string) bool

IsWritable 路径是否可写.

func (*LkkFile) IsZip

func (kf *LkkFile) IsZip(fpath string) bool

IsZip 是否zip文件.

func (*LkkFile) Md5

func (kf *LkkFile) Md5(fpath string, length uint8) (string, error)

Md5 获取文件md5值,length指定结果长度32/16.

func (*LkkFile) Mkdir

func (kf *LkkFile) Mkdir(fpath string, mode os.FileMode) error

Mkdir 新建目录,允许多级目录.

func (*LkkFile) Pathinfo

func (kf *LkkFile) Pathinfo(fpath string, options int) map[string]string

Pathinfo 获取文件路径的信息,options的值为-1: all; 1: dirname; 2: basename; 4: extension; 8: filename.

func (*LkkFile) ReadFile

func (kf *LkkFile) ReadFile(fpath string) ([]byte, error)

ReadFile 读取文件内容.

func (*LkkFile) ReadFirstLine

func (kf *LkkFile) ReadFirstLine(fpath string) string

ReadFirstLine 读取文件首行.

func (*LkkFile) ReadInArray

func (kf *LkkFile) ReadInArray(fpath string) ([]string, error)

ReadInArray 把整个文件读入一个数组中,每行作为一个元素.

func (*LkkFile) ReadLastLine

func (kf *LkkFile) ReadLastLine(fpath string) string

ReadLastLine 读取文件末行.

func (*LkkFile) RealPath

func (kf *LkkFile) RealPath(fpath string) string

RealPath 返回规范化的真实绝对路径名,path必须存在.若路径不存在则返回空字符串.

func (*LkkFile) Rename

func (kf *LkkFile) Rename(oldname, newname string) error

Rename 重命名文件或目录.

func (*LkkFile) SafeFileName

func (kf *LkkFile) SafeFileName(str string) string

SafeFileName 将文件名转换为安全可用的字符串.

func (*LkkFile) ShaX

func (kf *LkkFile) ShaX(fpath string, x uint16) (string, error)

ShaX 计算文件的 shaX 散列值,x为1/256/512.

func (*LkkFile) TarGz

func (kf *LkkFile) TarGz(src string, dstTar string, ignorePatterns ...string) (bool, error)

TarGz 打包压缩tar.gz;src为源文件或目录,dstTar为打包的路径名,ignorePatterns为要忽略的文件正则.

func (*LkkFile) Touch

func (kf *LkkFile) Touch(fpath string, size int64) bool

Touch 快速创建指定大小的文件,size为字节.

func (*LkkFile) UnTarGz

func (kf *LkkFile) UnTarGz(srcTar, dstDir string) (bool, error)

UnTarGz 将tar.gz文件解压缩;srcTar为压缩包,dstDir为解压目录.

func (*LkkFile) UnZip

func (kf *LkkFile) UnZip(srcZip, dstDir string) (bool, error)

UnZip 解压zip文件.srcZip为zip文件路径,dstDir为解压目录.

func (kf *LkkFile) Unlink(fpath string) error

Unlink 删除文件.

func (*LkkFile) WriteFile

func (kf *LkkFile) WriteFile(fpath string, data []byte, perm ...os.FileMode) error

WriteFile 将内容写入文件. fpath为文件路径,data为内容,perm为权限.

func (*LkkFile) Zip

func (kf *LkkFile) Zip(dst string, fpaths ...string) (bool, error)

Zip 将文件目录进行zip打包.fpaths为文件或目录的路径.

type LkkFileCover

type LkkFileCover int8

LkkFileCover 枚举类型,文件是否覆盖

type LkkFileTree

type LkkFileTree uint8

LkkFileTree 枚举类型,文件树查找类型

type LkkFileType

type LkkFileType uint8

LkkFileType 枚举类型,文件类型

type LkkNumber

type LkkNumber byte

LkkNumber is the receiver of number utilities

func (*LkkNumber) AbsFloat

func (kn *LkkNumber) AbsFloat(number float64) float64

AbsFloat 浮点型取绝对值.

func (*LkkNumber) AbsInt

func (kn *LkkNumber) AbsInt(number int64) int64

AbsInt 整型取绝对值.

func (*LkkNumber) Average

func (kn *LkkNumber) Average(nums ...interface{}) (res float64)

Average 对任意类型序列中的数值类型求平均值,忽略非数值的.

func (*LkkNumber) AverageFloat64

func (kn *LkkNumber) AverageFloat64(nums ...float64) (res float64)

AverageFloat64 对浮点数序列求平均值.

func (*LkkNumber) AverageInt

func (kn *LkkNumber) AverageInt(nums ...int) (res float64)

AverageInt 对整数序列求平均值.

func (*LkkNumber) ByteFormat

func (kn *LkkNumber) ByteFormat(size float64, decimal uint8, delimiter string) string

ByteFormat 格式化文件比特大小. size为文件大小,decimal为要保留的小数位数,delimiter为数字和单位间的分隔符.

func (*LkkNumber) Ceil

func (kn *LkkNumber) Ceil(value float64) float64

Ceil 向上取整.

func (*LkkNumber) Exp

func (kn *LkkNumber) Exp(x float64) float64

Exp 计算 e 的指数.

func (*LkkNumber) Expm1

func (kn *LkkNumber) Expm1(x float64) float64

Expm1 返回 exp(number) - 1,甚至当 number 的值接近零也能计算出准确结果.

func (*LkkNumber) FloatEqual

func (kn *LkkNumber) FloatEqual(f1 float64, f2 float64, decimal ...int) bool

FloatEqual 比较两个浮点数是否相等.decimal为小数精确位数.

func (*LkkNumber) Floor

func (kn *LkkNumber) Floor(value float64) float64

Floor 向下取整.

func (*LkkNumber) GeoDistance

func (kn *LkkNumber) GeoDistance(lng1, lat1, lng2, lat2 float64) float64

GeoDistance 获取地理距离/米. 参数分别为两点的经度和纬度.lat:-90~90,lng:-180~180.

func (*LkkNumber) InRange

func (kn *LkkNumber) InRange(value interface{}, left interface{}, right interface{}) bool

InRange 数值是否在某个范围内,将自动转换类型再比较.

func (*LkkNumber) InRangeFloat32

func (kn *LkkNumber) InRangeFloat32(value, left, right float32) bool

InRangeFloat32 数值是否在2个32位浮点数范围内.

func (*LkkNumber) InRangeFloat64

func (kn *LkkNumber) InRangeFloat64(value, left, right float64) bool

InRangeFloat64 数值是否在2个64位浮点数范围内.

func (*LkkNumber) InRangeInt

func (kn *LkkNumber) InRangeInt(value, left, right int) bool

InRangeInt 数值是否在2个整数范围内.

func (*LkkNumber) IsEven

func (kn *LkkNumber) IsEven(val int) bool

IsEven 变量是否偶数.

func (*LkkNumber) IsNan

func (kn *LkkNumber) IsNan(val interface{}) bool

IsNan 是否为“非数值”.

func (*LkkNumber) IsNatural

func (kn *LkkNumber) IsNatural(value float64) bool

IsNatural 数值是否为自然数.

func (*LkkNumber) IsNaturalRange added in v0.1.7

func (kn *LkkNumber) IsNaturalRange(arr []int, strict bool) (res bool)

IsNaturalRange 是否连续的自然数数组/切片,如[0,1,2,3...],其中不能有间断. strict为是否严格检查元素的顺序.

func (*LkkNumber) IsNegative

func (kn *LkkNumber) IsNegative(value float64) bool

IsNegative 数值是否为负数.

func (*LkkNumber) IsNonNegative

func (kn *LkkNumber) IsNonNegative(value float64) bool

IsNonNegative 数值是否为非负数.

func (*LkkNumber) IsNonPositive

func (kn *LkkNumber) IsNonPositive(value float64) bool

IsNonPositive 数值是否为非正数.

func (*LkkNumber) IsOdd

func (kn *LkkNumber) IsOdd(val int) bool

IsOdd 变量是否奇数.

func (*LkkNumber) IsPositive

func (kn *LkkNumber) IsPositive(value float64) bool

IsPositive 数值是否为正数.

func (*LkkNumber) IsWhole

func (kn *LkkNumber) IsWhole(value float64) bool

IsWhole 数值是否为整数.

func (*LkkNumber) Log added in v0.1.7

func (kn *LkkNumber) Log(x, y float64) float64

Log 对数表达式,求以y为底x的对数.

func (*LkkNumber) Max

func (kn *LkkNumber) Max(nums ...interface{}) (res float64)

Max 取出任意类型中数值类型的最大值,无数值类型则为0.

func (*LkkNumber) MaxFloat64

func (kn *LkkNumber) MaxFloat64(nums ...float64) (res float64)

MaxFloat64 64位浮点数序列求最大值.

func (*LkkNumber) MaxInt

func (kn *LkkNumber) MaxInt(nums ...int) (res int)

MaxInt 整数序列求最大值.

func (*LkkNumber) Min

func (kn *LkkNumber) Min(nums ...interface{}) (res float64)

Min 取出任意类型中数值类型的最小值,无数值类型则为0.

func (*LkkNumber) MinFloat64

func (kn *LkkNumber) MinFloat64(nums ...float64) (res float64)

MinFloat64 64位浮点数序列求最小值.

func (*LkkNumber) MinInt

func (kn *LkkNumber) MinInt(nums ...int) (res int)

MinInt 整数序列求最小值.

func (*LkkNumber) NumSign

func (kn *LkkNumber) NumSign(value float64) (res int8)

NumSign 返回数值的符号.值>0为1,<0为-1,其他为0.

func (*LkkNumber) NumberFormat

func (kn *LkkNumber) NumberFormat(number float64, decimal uint8, point, thousand string) string

NumberFormat 以千位分隔符方式格式化一个数字. decimal为要保留的小数位数,point为小数点显示的字符,thousand为千位分隔符显示的字符.

func (*LkkNumber) Percent

func (kn *LkkNumber) Percent(val, total interface{}) float64

Percent 返回百分比(val/total).

func (*LkkNumber) Pi

func (kn *LkkNumber) Pi() float64

Pi 得到圆周率值.

func (*LkkNumber) Pow

func (kn *LkkNumber) Pow(x, y float64) float64

Pow 指数表达式,求x的y次方.

func (*LkkNumber) Rand

func (kn *LkkNumber) Rand(min, max int) int

Rand RandInt的别名.

func (*LkkNumber) RandFloat64

func (kn *LkkNumber) RandFloat64(min, max float64) float64

RandFloat64 生产一个随机float64整数.

func (*LkkNumber) RandInt

func (kn *LkkNumber) RandInt(min, max int) int

RandInt 产生一个随机int整数.

func (*LkkNumber) RandInt64

func (kn *LkkNumber) RandInt64(min, max int64) int64

RandInt64 生产一个随机int64整数.

func (*LkkNumber) Range

func (kn *LkkNumber) Range(start, end int) []int

Range 根据范围创建数组,包含指定的元素. start为起始元素值,end为末尾元素值.若start<end,返回升序的数组;若start>end,返回降序的数组.

func (*LkkNumber) Round

func (kn *LkkNumber) Round(value float64) float64

Round 对浮点数(的整数)进行四舍五入.

func (*LkkNumber) RoundPlus

func (kn *LkkNumber) RoundPlus(value float64, precision int8) float64

RoundPlus 对指定的小数位进行四舍五入. precision为小数位数.

func (*LkkNumber) Sum

func (kn *LkkNumber) Sum(nums ...interface{}) (res float64)

Sum 对任意类型序列中的数值类型求和,忽略非数值的.

func (*LkkNumber) SumFloat64

func (kn *LkkNumber) SumFloat64(nums ...float64) float64

SumFloat64 浮点数求和.

func (*LkkNumber) SumInt

func (kn *LkkNumber) SumInt(nums ...int) int

SumInt 整数求和.

type LkkOS

type LkkOS byte

LkkOS is the receiver of OS utilities

func (*LkkOS) Chdir

func (ko *LkkOS) Chdir(dir string) error

Chdir 改变/进入新的工作目录.

func (*LkkOS) Chmod

func (ko *LkkOS) Chmod(filename string, mode os.FileMode) bool

Chmod 改变文件模式.

func (*LkkOS) Chown

func (ko *LkkOS) Chown(filename string, uid, gid int) bool

Chown 改变文件的所有者.

func (*LkkOS) ClientIp

func (ko *LkkOS) ClientIp(req *http.Request) string

ClientIp 获取客户端真实IP,req为http请求.

func (*LkkOS) CpuUsage

func (ko *LkkOS) CpuUsage() (user, idle, total uint64)

CpuUsage 获取CPU使用率(仅支持linux),单位jiffies(节拍数). user为用户态(用户进程)的运行时间, idle为空闲时间, total为累计时间.

func (*LkkOS) DiskUsage

func (ko *LkkOS) DiskUsage(path string) (used, free, total uint64)

DiskUsage 获取磁盘/目录使用情况,单位字节.参数path为目录. used为已用, free为空闲, total为总数.

func (*LkkOS) Exec

func (ko *LkkOS) Exec(command string) (retInt int, outStr, errStr []byte)

Exec 执行一个外部命令. retInt为1时失败,为0时成功;outStr为执行命令的输出;errStr为错误输出. 命令如 "ls -a" "/bin/bash -c \"ls -a\""

func (*LkkOS) ForceGC

func (ko *LkkOS) ForceGC()

ForceGC 强制手动GC垃圾回收(阻塞).

func (*LkkOS) GetBiosInfo

func (ko *LkkOS) GetBiosInfo() *BiosInfo

GetBiosInfo 获取BIOS信息.

func (*LkkOS) GetBoardInfo

func (ko *LkkOS) GetBoardInfo() *BoardInfo

GetBoardInfo 获取Board信息.

func (*LkkOS) GetCpuInfo

func (ko *LkkOS) GetCpuInfo() *CpuInfo

GetCpuInfo 获取CPU信息.

func (*LkkOS) GetEndian

func (ko *LkkOS) GetEndian() binary.ByteOrder

GetEndian 获取系统字节序类型,小端返回binary.LittleEndian,大端返回binary.BigEndian .

func (*LkkOS) GetHostByIp

func (ko *LkkOS) GetHostByIp(ipAddress string) (string, error)

GetHostByIp 获取指定的IP地址对应的主机名.

func (*LkkOS) GetIPs

func (ko *LkkOS) GetIPs() (ips []string)

GetIPs 获取本机的IP列表.

func (*LkkOS) GetIpByHostname

func (ko *LkkOS) GetIpByHostname(hostname string) (string, error)

GetIpByHostname 返回主机名对应的 IPv4地址.

func (*LkkOS) GetIpsByDomain

func (ko *LkkOS) GetIpsByDomain(domain string) ([]string, error)

GetIpsByHost 获取互联网域名/主机名对应的 IPv4 地址列表.

func (*LkkOS) GetMacAddrs

func (ko *LkkOS) GetMacAddrs() (macAddrs []string)

GetMacAddrs 获取本机的Mac网卡地址列表.

func (*LkkOS) GetPidByPort

func (ko *LkkOS) GetPidByPort(port int) (pid int)

GetPidByPort 根据端口号获取监听的进程PID.

func (*LkkOS) GetProcessExecPath

func (ko *LkkOS) GetProcessExecPath(pid int) string

GetProcessExecPath 根据PID获取进程的执行路径.

func (*LkkOS) GetSystemInfo

func (ko *LkkOS) GetSystemInfo() *SystemInfo

GetSystemInfo 获取系统运行信息.

func (*LkkOS) GetTempDir

func (ko *LkkOS) GetTempDir() string

GetTempDir 返回用于临时文件的目录.

func (*LkkOS) Getcwd

func (ko *LkkOS) Getcwd() (string, error)

Getcwd 取得当前工作目录(程序可能在任务中进行多次目录切换).

func (*LkkOS) Getenv

func (ko *LkkOS) Getenv(varname string, def ...string) string

Getenv 获取一个环境变量的值.def为默认值.

func (*LkkOS) GoMemory

func (ko *LkkOS) GoMemory() uint64

MemoryGetUsage 获取当前go程序的内存使用,返回字节数.

func (*LkkOS) HomeDir

func (ko *LkkOS) HomeDir() (string, error)

HomeDir 获取当前用户的主目录(仅支持Unix-like system).

func (*LkkOS) Hostname

func (ko *LkkOS) Hostname() (string, error)

Hostname 获取主机名.

func (*LkkOS) IsLinux

func (ko *LkkOS) IsLinux() bool

IsLinux 当前操作系统是否Linux.

func (*LkkOS) IsLittleEndian

func (ko *LkkOS) IsLittleEndian() bool

IsLittleEndian 系统字节序类型是否小端存储.

func (*LkkOS) IsMac

func (ko *LkkOS) IsMac() bool

IsMac 当前操作系统是否Mac OS/X.

func (*LkkOS) IsPortOpen

func (ko *LkkOS) IsPortOpen(host string, port interface{}, protocols ...string) bool

IsPortOpen 检查主机端口是否开放.protocols为协议名称,可选,默认tcp.

func (*LkkOS) IsPrivateIp

func (ko *LkkOS) IsPrivateIp(address string) (bool, error)

IsPrivateIp 是否私有IP地址(ipv4/ipv6).

func (*LkkOS) IsProcessExists

func (ko *LkkOS) IsProcessExists(pid int) (res bool)

IsProcessExists 进程是否存在.

func (*LkkOS) IsPublicIP

func (ko *LkkOS) IsPublicIP(ip net.IP) bool

IsPublicIP 是否公网IP.

func (*LkkOS) IsWindows

func (ko *LkkOS) IsWindows() bool

IsWindows 当前操作系统是否Windows.

func (*LkkOS) LocalIP

func (ko *LkkOS) LocalIP() (string, error)

LocalIP 获取本机第一个NIC's IP.

func (*LkkOS) MemoryUsage

func (ko *LkkOS) MemoryUsage(virtual bool) (used, free, total uint64)

MemoryUsage 获取内存使用率(仅支持linux),单位字节. 参数 virtual,是否取虚拟内存. used为已用, free为空闲, total为总数.

func (*LkkOS) OutboundIP

func (ko *LkkOS) OutboundIP() (string, error)

OutboundIP 获取本机的出口IP.

func (*LkkOS) PrivateCIDR

func (ko *LkkOS) PrivateCIDR() []*net.IPNet

PrivateCIDR 获取私有网段的CIDR(无类别域间路由).

func (*LkkOS) Pwd

func (ko *LkkOS) Pwd() string

Pwd 获取当前程序运行所在的路径,注意和Getwd有所不同. 若当前执行的是链接文件,则会指向真实二进制程序的所在目录.

func (*LkkOS) Setenv

func (ko *LkkOS) Setenv(varname, data string) error

Setenv 设置一个环境变量的值.

func (*LkkOS) System

func (ko *LkkOS) System(command string) (retInt int, outStr, errStr []byte)

System 与Exec相同,但会同时打印标准输出和标准错误.

func (*LkkOS) TriggerGC

func (ko *LkkOS) TriggerGC()

TriggerGC 触发GC(非阻塞).

type LkkPKCSType

type LkkPKCSType int8

LkkPKCSType 枚举类型,PKCS填充类型

type LkkPadType

type LkkPadType uint8

LkkPadType 枚举类型,字符串填充类型

type LkkRandString

type LkkRandString uint8

LkkRandString 枚举类型,随机字符串类型

type LkkString

type LkkString byte

LkkString is the receiver of string utilities

func (*LkkString) Addslashes

func (ks *LkkString) Addslashes(str string) string

Addslashes 使用反斜线引用字符串.

func (*LkkString) AtWho

func (ks *LkkString) AtWho(text string, minLen ...int) []string

AtWho 查找被@的用户名.minLen为用户名最小长度,默认5.

func (*LkkString) Big5ToUtf8

func (ks *LkkString) Big5ToUtf8(s []byte) ([]byte, error)

Big5ToUtf8 BIG5转UTF-8编码.

func (*LkkString) Br2nl

func (ks *LkkString) Br2nl(str string) string

Br2nl 将br标签转换为换行符.

func (*LkkString) Chr

func (ks *LkkString) Chr(chr int) string

Chr 返回相对应于 ascii 所指定的单个字符.

func (*LkkString) ChunkSplit

func (ks *LkkString) ChunkSplit(str string, chunklen uint, end string) string

ChunkSplit 将字符串分割成小块.str为要分割的字符,chunklen为分割的尺寸,end为行尾序列符号.

func (*LkkString) ClearUrlPrefix

func (ks *LkkString) ClearUrlPrefix(str string, prefix ...string) string

ClearUrlPrefix 清除URL的前缀; str为URL字符串,prefix为前缀,默认"/".

func (*LkkString) ClearUrlSuffix

func (ks *LkkString) ClearUrlSuffix(str string, suffix ...string) string

ClearUrlSuffix 清除URL的后缀; str为URL字符串,suffix为后缀,默认"/".

func (*LkkString) ClosestWord

func (ks *LkkString) ClosestWord(word string, searchs []string) (string, int)

ClosestWord 获取与原字符串相似度最高的字符串,以及它们的编辑距离. word为原字符串,searchs为待查找的字符串数组.

func (*LkkString) CountBase64Byte

func (ks *LkkString) CountBase64Byte(str string) (res int)

CountBase64Byte 统计base64字符串大小,字节.

func (*LkkString) CountWords

func (ks *LkkString) CountWords(str string) (int, map[string]int)

CountWords 统计字符串中单词的使用情况. 返回结果:单词总数;和一个字典,包含每个单词的单独统计. 因为没有分词,对中文尚未很好支持.

func (*LkkString) Crc32

func (ks *LkkString) Crc32(str string) uint32

Crc32 计算一个字符串的 crc32 多项式.

func (*LkkString) DBC2SBC

func (ks *LkkString) DBC2SBC(s string) string

DBC2SBC 半角转全角.

func (*LkkString) Dstrpos

func (ks *LkkString) Dstrpos(str string, arr []string, chkCase bool) (bool, string)

Dstrpos 检查字符串str是否包含数组arr的元素之一,返回检查结果和匹配的字符串. chkCase为是否检查大小写.

func (*LkkString) EndsWith

func (ks *LkkString) EndsWith(str, sub string, ignoreCase bool) bool

EndsWith 字符串str是否以sub结尾.

func (*LkkString) Explode

func (ks *LkkString) Explode(str string, delimiters ...string) (res []string)

Explode 字符串分割.delimiters为分隔符,可选,支持多个.

func (*LkkString) FirstLetter

func (ks *LkkString) FirstLetter(str string) string

FirstLetter 获取字符串首字母.

func (*LkkString) FormatUrl

func (ks *LkkString) FormatUrl(str string) string

FormatUrl 格式化URL.

func (*LkkString) GbkToUtf8

func (ks *LkkString) GbkToUtf8(s []byte) ([]byte, error)

GbkToUtf8 GBK转UTF-8编码.

func (*LkkString) GetDomain

func (ks *LkkString) GetDomain(str string, isMains ...bool) string

GetDomain 从URL字符串中获取域名. 可选参数isMains,默认为false,取完整域名;为true时,取主域名(如abc.test.com取test.com).

func (*LkkString) Gravatar

func (ks *LkkString) Gravatar(email string, size uint16) string

Gravatar 获取Gravatar头像地址.

func (*LkkString) HasChinese

func (ks *LkkString) HasChinese(str string) bool

HasChinese 字符串是否含有中文.

func (*LkkString) HasEnglish

func (ks *LkkString) HasEnglish(str string) bool

HasEnglish 是否含有英文字符,HasLetter的别名.

func (*LkkString) HasFullWidth

func (ks *LkkString) HasFullWidth(str string) bool

HasFullWidth 是否含有全角字符.

func (*LkkString) HasHalfWidth

func (ks *LkkString) HasHalfWidth(str string) bool

HasHalfWidth 是否含有半角字符.

func (*LkkString) HasLetter

func (ks *LkkString) HasLetter(str string) bool

HasLetter 字符串是否含有(英文)字母.

func (*LkkString) HasSpecialChar

func (ks *LkkString) HasSpecialChar(str string) (res bool)

HasSpecialChar 字符串是否含有特殊字符.

func (*LkkString) HasWhitespace

func (ks *LkkString) HasWhitespace(str string) bool

HasWhitespace 是否带有空白字符.

func (*LkkString) HideCard

func (ks *LkkString) HideCard(card string) string

HideCard 隐藏证件号码.

func (*LkkString) HideMobile

func (ks *LkkString) HideMobile(mobile string) string

HideMobile 隐藏手机号.

func (*LkkString) HideTrueName

func (ks *LkkString) HideTrueName(name string) string

HideTrueName 隐藏真实名称(如姓名、账号、公司等).

func (*LkkString) Html2Text

func (ks *LkkString) Html2Text(str string) string

Html2Text 将html转换为纯文本.

func (*LkkString) Htmlentities

func (ks *LkkString) Htmlentities(str string) string

Htmlentities 将字符转换为 HTML 转义字符.

func (*LkkString) HtmlentityDecode

func (ks *LkkString) HtmlentityDecode(str string) string

HtmlentityDecode 将HTML实体转换为它们对应的字符.

func (*LkkString) HttpBuildQuery

func (ks *LkkString) HttpBuildQuery(queryData url.Values) string

HttpBuildQuery 根据参数生成 URL-encode 之后的请求字符串.

func (*LkkString) Img2Base64

func (ks *LkkString) Img2Base64(content []byte, ext ...string) string

Img2Base64 将字符串转换为base64图片.ext为图片扩展名,默认jpg.

func (*LkkString) Index

func (ks *LkkString) Index(str, sub string, ignoreCase bool) int

Index 查找子串sub在字符串str中第一次出现的位置,不存在则返回-1; ignoreCase为是否忽略大小写.

func (*LkkString) IsASCII

func (ks *LkkString) IsASCII(str string) bool

IsASCII 是否IsASCII字符串.

func (*LkkString) IsAlphaNumeric

func (ks *LkkString) IsAlphaNumeric(str string) bool

IsAlphaNumeric 是否字母或数字.

func (*LkkString) IsBase64

func (ks *LkkString) IsBase64(str string) bool

IsBase64 是否base64字符串.

func (*LkkString) IsBase64Image

func (ks *LkkString) IsBase64Image(str string) bool

IsBase64Image 是否base64编码的图片.

func (*LkkString) IsBlank

func (ks *LkkString) IsBlank(str string) bool

IsBlank 是否空(空白)字符.

func (*LkkString) IsChinese

func (ks *LkkString) IsChinese(str string) bool

IsChinese 字符串是否全部中文.

func (*LkkString) IsChineseName

func (ks *LkkString) IsChineseName(str string) bool

IsChineseName 字符串是否中文名称.

func (*LkkString) IsCreditNo

func (ks *LkkString) IsCreditNo(str string) (bool, string)

IsCreditNo 检查是否(15或18位)身份证号码,并返回经校验的号码.

func (*LkkString) IsDNSName

func (ks *LkkString) IsDNSName(str string) bool

IsDNSName 是否DNS名称.

func (*LkkString) IsDialString

func (ks *LkkString) IsDialString(str string) bool

IsDialString 是否网络拨号字符串(形如127.0.0.1:80),用于net.Dial()检查.

func (*LkkString) IsEmail

func (ks *LkkString) IsEmail(email string, validateHost bool) (bool, error)

IsEmail 检查字符串是否邮箱.参数validateTrue,是否验证邮箱主机的真实性.

func (*LkkString) IsEmpty

func (ks *LkkString) IsEmpty(str string) bool

IsEmpty 字符串是否为空(包括空格).

func (*LkkString) IsEnglish

func (ks *LkkString) IsEnglish(str string, letterCase LkkCaseSwitch) bool

IsEnglish 字符串是否纯英文.letterCase是否检查大小写,枚举值(CASE_NONE,CASE_LOWER,CASE_UPPER).

func (*LkkString) IsHexcolor

func (ks *LkkString) IsHexcolor(str string) (bool, string)

IsHexcolor 检查是否十六进制颜色,并返回带"#"的修正值.

func (*LkkString) IsHost

func (ks *LkkString) IsHost(str string) bool

IsHost 字符串是否主机名(IP或DNS名称).

func (*LkkString) IsIP

func (ks *LkkString) IsIP(str string) bool

IsIP 检查字符串是否IP地址.

func (*LkkString) IsIPv4

func (ks *LkkString) IsIPv4(str string) bool

IsIPv4 检查字符串是否IPv4地址.

func (*LkkString) IsIPv6

func (ks *LkkString) IsIPv6(str string) bool

IsIPv6 检查字符串是否IPv6地址.

func (*LkkString) IsJSON

func (ks *LkkString) IsJSON(str string) bool

IsJSON 字符串是否合法的json格式.

func (*LkkString) IsLetters

func (ks *LkkString) IsLetters(str string) bool

IsLetters 字符串是否全(英文)字母组成.

func (*LkkString) IsLower

func (ks *LkkString) IsLower(str string) bool

IsLower 字符串是否全部小写.

func (*LkkString) IsMACAddr

func (ks *LkkString) IsMACAddr(str string) bool

IsMACAddr 是否MAC物理网卡地址.

func (*LkkString) IsMd5

func (ks *LkkString) IsMd5(str string) bool

IsMd5 是否md5值.

func (*LkkString) IsMobilecn

func (ks *LkkString) IsMobilecn(str string) bool

IsMobilecn 检查字符串是否中国大陆手机号.

func (*LkkString) IsMultibyte

func (ks *LkkString) IsMultibyte(str string) bool

IsMultibyte 字符串是否含有多字节字符.

func (*LkkString) IsPhone

func (ks *LkkString) IsPhone(str string) bool

IsPhone 是否电话号码(手机或固话).

func (*LkkString) IsPort

func (ks *LkkString) IsPort(val interface{}) bool

IsPort 字符串或数字是否端口号.

func (*LkkString) IsRGBcolor

func (ks *LkkString) IsRGBcolor(str string) bool

IsRGBcolor 检查字符串是否RGB颜色格式.

func (*LkkString) IsRsaPublicKey

func (ks *LkkString) IsRsaPublicKey(str string, keylen int) bool

IsRsaPublicKey 检查字符串是否RSA的公钥,keylen为密钥长度.

func (*LkkString) IsSha1

func (ks *LkkString) IsSha1(str string) bool

IsSha1 是否Sha1值.

func (*LkkString) IsSha256

func (ks *LkkString) IsSha256(str string) bool

IsSha256 是否Sha256值.

func (*LkkString) IsSha512

func (ks *LkkString) IsSha512(str string) bool

IsSha512 是否Sha512值.

func (*LkkString) IsTel

func (ks *LkkString) IsTel(str string) bool

IsTel 是否固定电话或400/800电话.

func (*LkkString) IsUpper

func (ks *LkkString) IsUpper(str string) bool

IsUpper 字符串是否全部大写.

func (*LkkString) IsUrl

func (ks *LkkString) IsUrl(str string) bool

IsUrl 检查字符串是否URL.

func (*LkkString) IsUrlExists

func (ks *LkkString) IsUrlExists(str string) bool

IsUrlExists 检查URL是否存在.

func (*LkkString) IsUtf8

func (ks *LkkString) IsUtf8(str string) bool

IsUtf8 字符串是否UTF-8编码.

func (*LkkString) IsWhitespaces

func (ks *LkkString) IsWhitespaces(str string) bool

IsWhitespaces 是否全部空白字符,不包括空字符串.

func (*LkkString) IsWord

func (ks *LkkString) IsWord(str string) bool

IsWord 是否词语(不以下划线开头的中文、英文、数字、下划线).

func (*LkkString) JsonDecode

func (ks *LkkString) JsonDecode(data []byte, val interface{}) error

JsonDecode 对 JSON 格式的字符串进行解码,注意val使用指针. 依赖库github.com/json-iterator/go.

func (*LkkString) JsonEncode

func (ks *LkkString) JsonEncode(val interface{}) ([]byte, error)

JsonEncode 对变量进行 JSON 编码. 依赖库github.com/json-iterator/go.

func (*LkkString) Jsonp2Json

func (ks *LkkString) Jsonp2Json(str string) (string, error)

Jsonp2Json 将jsonp转为json串. Example: forbar({a:"1",b:2}) to {"a":"1","b":2}

func (*LkkString) LastIndex

func (ks *LkkString) LastIndex(str, sub string, ignoreCase bool) int

LastIndex 查找子串sub在字符串str中最后一次出现的位置,不存在则返回-1; ignoreCase为是否忽略大小写.

func (*LkkString) Lcfirst

func (ks *LkkString) Lcfirst(str string) string

Lcfirst 将字符串的第一个字符转换为小写.

func (*LkkString) Lcwords

func (ks *LkkString) Lcwords(str string) string

Lcwords 将字符串中每个词的首字母转换为小写.

func (*LkkString) Levenshtein

func (ks *LkkString) Levenshtein(a, b *string) int

Levenshtein 计算两个字符串之间的编辑距离.

func (*LkkString) Ltrim

func (ks *LkkString) Ltrim(str string, characterMask ...string) string

Ltrim 删除字符串开头的空白字符(或其他字符).

func (*LkkString) MbStrlen

func (ks *LkkString) MbStrlen(str string) int

MbStrlen 获取宽字符串的长度,多字节的字符被计为 1.

func (*LkkString) MbSubstr

func (ks *LkkString) MbSubstr(str string, start int, length ...int) string

MbSubstr 返回(宽字符)字符串str的子串. start 为起始位置.若值是负数,返回的结果将从 str 结尾处向前数第 abs(start) 个字符开始. length 为截取的长度.若值时负数, str 末尾处的 abs(length) 个字符将会被省略. start/length的绝对值必须<=原字符串长度.

func (*LkkString) Md5

func (ks *LkkString) Md5(str string, length uint8) string

Md5 获取字符串md5值,length指定结果长度32/16 .

func (*LkkString) Md5Byte

func (ks *LkkString) Md5Byte(str []byte, length uint8) []byte

Md5 获取字节切片md5值,length指定结果长度32/16 .

func (*LkkString) Nl2br

func (ks *LkkString) Nl2br(html string) string

Nl2br 将换行符转换为br标签.

func (*LkkString) Ord

func (ks *LkkString) Ord(char string) rune

Ord 将首字符转换为rune.

func (*LkkString) ParseStr

func (ks *LkkString) ParseStr(encodedString string, result map[string]interface{}) error

ParseStr 将查询字符串转换为字典.

func (*LkkString) ParseUrl

func (ks *LkkString) ParseUrl(str string, component int) (map[string]string, error)

ParseUrl 解析 URL,返回其组成部分. component为需要返回的组成; -1: all; 1: scheme; 2: host; 4: port; 8: user; 16: pass; 32: path; 64: query; 128: fragment .

func (*LkkString) Quotemeta

func (ks *LkkString) Quotemeta(str string) string

Quotemeta 转义元字符集,包括 . \ + * ? [ ^ ] ( $ ).

func (*LkkString) Random

func (ks *LkkString) Random(length uint8, rtype LkkRandString) string

Random 生成随机字符串. length为长度,rtype为枚举: RAND_STRING_ALPHA 字母; RAND_STRING_NUMERIC 数值; RAND_STRING_ALPHANUM 字母+数值; RAND_STRING_SPECIAL 字母+数值+特殊字符; RAND_STRING_CHINESE 仅中文.

func (*LkkString) RawurlDecode

func (ks *LkkString) RawurlDecode(str string) (string, error)

RawurlDecode 对已编码的 URL 字符串进行解码.

func (*LkkString) RawurlEncode

func (ks *LkkString) RawurlEncode(str string) string

RawurlEncode 按照 RFC 3986 对 URL 进行编码.

func (*LkkString) RemoveAfter

func (ks *LkkString) RemoveAfter(str, after string, include, ignoreCase bool) string

RemoveAfter 移除after之后的字符串; include为是否移除包括after本身; ignoreCase为是否忽略大小写.

func (*LkkString) RemoveBefore

func (ks *LkkString) RemoveBefore(str, before string, include, ignoreCase bool) string

RemoveBefore 移除before之前的字符串; include为是否移除包括before本身; ignoreCase为是否忽略大小写.

func (*LkkString) RemoveEmoji

func (ks *LkkString) RemoveEmoji(str string) string

RemoveEmoji 移除字符串中的表情符(使用正则,效率较低).

func (*LkkString) RemoveSpace

func (ks *LkkString) RemoveSpace(str string, all bool) string

RemoveSpace 移除字符串中的空白字符. all为true时移除全部空白,为false时只替换连续的空白字符为一个空格.

func (*LkkString) Reverse

func (ks *LkkString) Reverse(str string) string

Reverse 反转字符串.

func (*LkkString) Rtrim

func (ks *LkkString) Rtrim(str string, characterMask ...string) string

Rtrim 删除字符串末端的空白字符(或者其他字符).

func (*LkkString) SBC2DBC

func (ks *LkkString) SBC2DBC(s string) string

SBC2DBC 全角转半角.

func (*LkkString) Serialize

func (ks *LkkString) Serialize(val interface{}) ([]byte, error)

Serialize 对变量进行序列化.

func (*LkkString) ShaX

func (ks *LkkString) ShaX(str string, x uint16) string

ShaX 计算字符串的 shaX 散列值,x为1/256/512 .

func (*LkkString) ShaXByte

func (ks *LkkString) ShaXByte(str []byte, x uint16) []byte

ShaX 计算字节切片的 shaX 散列值,x为1/256/512 .

func (*LkkString) Shuffle

func (ks *LkkString) Shuffle(str string) string

Shuffle 随机打乱字符串.

func (*LkkString) SimilarText

func (ks *LkkString) SimilarText(first, second string, percent *float64) int

SimilarText 计算两个字符串的相似度,返回在两个字符串中匹配字符的数目;percent为相似程度百分数.

func (*LkkString) StartsWith

func (ks *LkkString) StartsWith(str, sub string, ignoreCase bool) bool

StartsWith 字符串str是否以sub开头.

func (*LkkString) StripTags

func (ks *LkkString) StripTags(str string) string

StripTags 过滤html和php标签.

func (*LkkString) Stripos

func (ks *LkkString) Stripos(haystack, needle string, offset int) int

Stripos 查找字符串首次出现的位置(不区分大小写),找不到时返回-1. haystack在该字符串中进行查找,needle要查找的字符串; offset起始位置,为负数时时,搜索会从字符串结尾指定字符数开始.

func (*LkkString) Stripslashes

func (ks *LkkString) Stripslashes(str string) string

Stripslashes 反引用一个引用字符串.

func (*LkkString) Strlen

func (ks *LkkString) Strlen(str string) int

Strlen 获取字符串长度.

func (*LkkString) Strpad

func (ks *LkkString) Strpad(str string, fill string, max int, ptype LkkPadType) string

Strpad 使用fill填充str字符串到指定长度max. ptype为填充类型,枚举值(PAD_LEFT,PAD_RIGHT,PAD_BOTH).

func (*LkkString) StrpadBoth

func (ks *LkkString) StrpadBoth(str string, fill string, max int) string

StrpadBoth 字符串两侧填充,请参考Strpad.

func (*LkkString) StrpadLeft

func (ks *LkkString) StrpadLeft(str string, fill string, max int) string

StrpadLeft 字符串左侧填充,请参考Strpad.

func (*LkkString) StrpadRight

func (ks *LkkString) StrpadRight(str string, fill string, max int) string

StrpadRight 字符串右侧填充,请参考Strpad.

func (*LkkString) Strpos

func (ks *LkkString) Strpos(haystack, needle string, offset int) int

Strpos 查找字符串首次出现的位置,找不到时返回-1. haystack在该字符串中进行查找,needle要查找的字符串; offset起始位置,为负数时时,搜索会从字符串结尾指定字符数开始.

func (*LkkString) Strripos

func (ks *LkkString) Strripos(haystack, needle string, offset int) int

Strripos 查找指定字符串在目标字符串中最后一次出现的位置(不区分大小写).

func (*LkkString) Strrpos

func (ks *LkkString) Strrpos(haystack, needle string, offset int) int

Strrpos 查找指定字符串在目标字符串中最后一次出现的位置.

func (*LkkString) Substr

func (ks *LkkString) Substr(str string, start int, length ...int) string

Substr 截取字符串str的子串. start 为起始位置.若值是负数,返回的结果将从 str 结尾处向前数第 abs(start) 个字符开始. length 为截取的长度.若值时负数, str 末尾处的 abs(length) 个字符将会被省略. start/length的绝对值必须<=原字符串长度.

func (*LkkString) SubstrCount

func (ks *LkkString) SubstrCount(str, substr string) int

SubstrCount 计算字符串出现的次数.

func (*LkkString) ToCamelCase

func (ks *LkkString) ToCamelCase(str string) string

ToCamelCase 转为驼峰写法. 去掉包括下划线"_"和横杠"-".

func (*LkkString) ToKebabCase

func (ks *LkkString) ToKebabCase(str string) string

ToSnakeCase 转为串形写法. 使用横杠"-"连接.

func (*LkkString) ToSnakeCase

func (ks *LkkString) ToSnakeCase(str string) string

ToSnakeCase 转为蛇形写法. 使用下划线"_"连接.

func (*LkkString) Trim

func (ks *LkkString) Trim(str string, characterMask ...string) string

Trim 去除字符串首尾处的空白字符(或者其他字符).

func (*LkkString) TrimBOM

func (ks *LkkString) TrimBOM(str []byte) []byte

TrimBOM 移除字符串中的BOM

func (*LkkString) Ucfirst

func (ks *LkkString) Ucfirst(str string) string

Ucfirst 将字符串的第一个字符转换为大写.

func (*LkkString) Ucwords

func (ks *LkkString) Ucwords(str string) string

Ucwords 将字符串中每个词的首字母转换为大写.

func (*LkkString) UnSerialize

func (ks *LkkString) UnSerialize(data []byte, registers ...interface{}) (val interface{}, err error)

UnSerialize 对字符串进行反序列化;其中registers注册对象,其类型必须和Serialize的一致.

func (*LkkString) Uniqid

func (ks *LkkString) Uniqid(prefix string) string

Uniqid 获取一个带前缀、基于当前时间微秒数的唯一ID.

func (*LkkString) UrlDecode

func (ks *LkkString) UrlDecode(str string) (string, error)

UrlDecode 解码已编码的 URL 字符串.

func (*LkkString) UrlEncode

func (ks *LkkString) UrlEncode(str string) string

UrlEncode 编码 URL 字符串.

func (*LkkString) Utf8ToBig5

func (ks *LkkString) Utf8ToBig5(s []byte) ([]byte, error)

Utf8ToBig5 UTF-8转BIG5编码.

func (*LkkString) Utf8ToGbk

func (ks *LkkString) Utf8ToGbk(s []byte) ([]byte, error)

Utf8ToGbk UTF-8转GBK编码.

func (*LkkString) UuidV4

func (ks *LkkString) UuidV4() (string, error)

UuidV4 获取UUID(Version4).

func (*LkkString) VersionCompare

func (ks *LkkString) VersionCompare(version1, version2, operator string) bool

VersionCompare 对比两个版本号字符串. 在第一个版本低于第二个时,version_compare() 返回 -1;如果两者相等,返回 0;第二个版本更低时则返回 1. operator允许的操作符有: <, lt, <=, le, >, gt, >=, ge, ==, =, eq, !=, <>, ne . 特定的版本字符串,将会用以下顺序处理: 未找到的任意字符串 < dev < alpha = a < beta = b < RC = rc < # < pl = p 用法: VersionCompare("1.2.3-alpha", "1.2.3RC7", '>=') ; VersionCompare("1.2.3-beta", "1.2.3pl", 'lt') ; VersionCompare("1.1_dev", "1.2any", 'eq') .

type LkkTime

type LkkTime byte

LkkTime is the receiver of time utilities

func (*LkkTime) CheckDate

func (kt *LkkTime) CheckDate(year, month, day int) bool

CheckDate 检查是否正常的日期.

func (*LkkTime) Date

func (kt *LkkTime) Date(format string, ts ...interface{}) string

Date 格式化时间. format 格式,如"Y-m-d H:i:s". ts为int/int64类型时间戳或time.Time类型.

func (*LkkTime) Day

func (kt *LkkTime) Day(t ...time.Time) int

Day 获取日份.

func (*LkkTime) DaysBetween

func (kt *LkkTime) DaysBetween(fromDate, toDate time.Time) int

DaysBetween 获取两个日期的间隔天数.

func (*LkkTime) EndOfDay

func (kt *LkkTime) EndOfDay(date time.Time) time.Time

EndOfDay 获取日期中当天的结束时间.

func (*LkkTime) EndOfMonth

func (kt *LkkTime) EndOfMonth(date time.Time) time.Time

EndOfMonth 获取日期中当月的结束时间.

func (*LkkTime) EndOfWeek

func (kt *LkkTime) EndOfWeek(date time.Time, weekStartDay ...time.Weekday) time.Time

EndOfWeek 获取日期中当周的结束时间; weekStartDay 周几作为周的第一天,本库默认周一.

func (*LkkTime) EndOfYear

func (kt *LkkTime) EndOfYear(date time.Time) time.Time

EndOfYear 获取日期中当年的结束时间.

func (*LkkTime) GetMonthDays

func (kt *LkkTime) GetMonthDays(month int, years ...int) (days int)

GetMonthDays 获取指定月份的天数.years年份,可选,默认当前年份.

func (*LkkTime) Hour

func (kt *LkkTime) Hour(t ...time.Time) int

Hour 获取小时.

func (*LkkTime) IsDate2time

func (kt *LkkTime) IsDate2time(str string) (bool, int64)

IsDate2time 检查字符串是否日期格式,并转换为时间戳.注意,时间戳可能为负数(小于1970年时). 匹配如:

0000
0000-00
0000/00
0000-00-00
0000/00/00
0000-00-00 00
0000/00/00 00
0000-00-00 00:00
0000/00/00 00:00
0000-00-00 00:00:00
0000/00/00 00:00:00

等日期格式.

func (*LkkTime) MicroTime

func (kt *LkkTime) MicroTime() int64

MicroTime 获取当前Unix时间戳(微秒).

func (*LkkTime) MilliTime

func (kt *LkkTime) MilliTime() int64

MilliTime 获取当前Unix时间戳(毫秒).

func (*LkkTime) Minute

func (kt *LkkTime) Minute(t ...time.Time) int

Minute 获取分钟.

func (*LkkTime) Month

func (kt *LkkTime) Month(t ...time.Time) int

Month 获取月份.

func (*LkkTime) Second

func (kt *LkkTime) Second(t ...time.Time) int

Second 获取秒数.

func (*LkkTime) ServiceStartime

func (kt *LkkTime) ServiceStartime() int64

ServiceStartime 获取当前服务启动时间戳,秒.

func (*LkkTime) ServiceUptime

func (kt *LkkTime) ServiceUptime() time.Duration

ServiceUptime 获取当前服务运行时间,纳秒int64.

func (*LkkTime) Sleep

func (kt *LkkTime) Sleep(t int64)

Sleep 延缓执行,秒.

func (*LkkTime) StartOfDay

func (kt *LkkTime) StartOfDay(date time.Time) time.Time

StartOfDay 获取日期中当天的开始时间.

func (*LkkTime) StartOfMonth

func (kt *LkkTime) StartOfMonth(date time.Time) time.Time

StartOfMonth 获取日期中当月的开始时间.

func (*LkkTime) StartOfWeek

func (kt *LkkTime) StartOfWeek(date time.Time, weekStartDay ...time.Weekday) time.Time

StartOfWeek 获取日期中当周的开始时间; weekStartDay 周几作为周的第一天,本库默认周一.

func (*LkkTime) StartOfYear

func (kt *LkkTime) StartOfYear(date time.Time) time.Time

StartOfYear 获取日期中当年的开始时间.

func (*LkkTime) Str2Timestamp

func (kt *LkkTime) Str2Timestamp(str string, format ...string) (int64, error)

Str2Timestamp 将字符串转换为时间戳,秒. str 为要转换的字符串; format 为该字符串的格式,默认为"2006-01-02 15:04:05" .

func (*LkkTime) Str2Timestruct

func (kt *LkkTime) Str2Timestruct(str string, format ...string) (time.Time, error)

Str2Time 将字符串转换为时间结构. str 为要转换的字符串; format 为该字符串的格式,默认为"2006-01-02 15:04:05" .

func (*LkkTime) UnixTime

func (kt *LkkTime) UnixTime() int64

Time 获取当前Unix时间戳(秒).

func (*LkkTime) Usleep

func (kt *LkkTime) Usleep(t int64)

Usleep 以指定的微秒数延迟执行.

func (*LkkTime) Year

func (kt *LkkTime) Year(t ...time.Time) int

Year 获取年份.

type SystemInfo

type SystemInfo struct {
	ServerName   string  `json:"server_name"`    //服务器名称
	SystemOs     string  `json:"system_os"`      //操作系统名称
	Runtime      int64   `json:"run_time"`       //服务运行时间,纳秒
	GoroutineNum int     `json:"goroutine_num"`  //goroutine数量
	CpuNum       int     `json:"cpu_num"`        //cpu核数
	CpuUser      float64 `json:"cpu_user"`       //cpu用户态比率
	CpuFree      float64 `json:"cpu_free"`       //cpu空闲比率
	DiskUsed     uint64  `json:"disk_used"`      //已用磁盘空间,字节数
	DiskFree     uint64  `json:"disk_free"`      //可用磁盘空间,字节数
	DiskTotal    uint64  `json:"disk_total"`     //总磁盘空间,字节数
	MemUsed      uint64  `json:"mem_used"`       //已用内存,字节数
	MemSys       uint64  `json:"mem_sys"`        //系统内存占用量,字节数
	MemFree      uint64  `json:"mem_free"`       //剩余内存,字节数
	MemTotal     uint64  `json:"mem_total"`      //总内存,字节数
	AllocGolang  uint64  `json:"alloc_golang"`   //golang内存使用量,字节数
	AllocTotal   uint64  `json:"alloc_total"`    //总分配的内存,字节数
	Lookups      uint64  `json:"lookups"`        //指针查找次数
	Mallocs      uint64  `json:"mallocs"`        //内存分配次数
	Frees        uint64  `json:"frees"`          //内存释放次数
	LastGCTime   uint64  `json:"last_gc_time"`   //上次GC时间,纳秒
	NextGC       uint64  `json:"next_gc"`        //下次GC内存回收量,字节数
	PauseTotalNs uint64  `json:"pause_total_ns"` //GC暂停时间总量,纳秒
	PauseNs      uint64  `json:"pause_ns"`       //上次GC暂停时间,纳秒
}

SystemInfo 系统信息

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL