util

package
v0.0.7 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2021 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Minute = 60
	Hour   = 60 * Minute
	Day    = 24 * Hour
	Week   = 7 * Day
	Month  = 30 * Day
	Year   = 12 * Month
)

Seconds-based time units

Variables

View Source
var Rander = rand.New(rand.NewSource(time.Now().UnixNano()))

Functions

func AddDaysForCurrent

func AddDaysForCurrent(days int) time.Time

* 在当前的日期时间增加指定的天数,返回日期时间 *

func AddHoursForCurrent

func AddHoursForCurrent(hours int) time.Time

* 在当前的日期时间增加指定的小时数,返回日期时间 *

func AddMinutesForCurrent

func AddMinutesForCurrent(minutes int) time.Time

* 在当前的日期时间增加指定的分钟数,返回日期时间 *

func AorB

func AorB(condition bool, a, b string) string

func Br2String

func Br2String(source string) string

* 换行转br标签 *

func Command

func Command(cmd string, args ...string) (string, error)

* 运行命令 *

func CompareVersion

func CompareVersion(src, toCompare string) bool

func CompressedHTML

func CompressedHTML(h *template.HTML)

func CopyMap

func CopyMap(m map[string]string) map[string]string

func CurrentTimeToString

func CurrentTimeToString(args ...interface{}) string

* 时间转字符串 *

func DateToIntSlice

func DateToIntSlice(date time.Time) []int

* 日期转成int切片 *

func DateToStringSlice

func DateToStringSlice(date time.Time) []string

* 日期转成日期字符串切片 *

func DateToUnixNanoTimestamp

func DateToUnixNanoTimestamp(date time.Time) int64

* 获取指定日期的Unix纳秒时间戳 *

func DateToUnixTimestamp

func DateToUnixTimestamp(date time.Time) int64

* 获取指定日期的Unix秒时间戳 *

func DatetimeAdd

func DatetimeAdd(firstDatetime time.Time, duration time.Duration) time.Time

* firstDatetime加上时间间隔duration,返回日期时间 *

func DatetimeAddDay

func DatetimeAddDay(firstDatetime time.Time, dayValue int) time.Time

* firstDatetime加上指定的天数,返回日期时间 *

func DatetimeAddHour

func DatetimeAddHour(firstDatetime time.Time, hourValue int) time.Time

* firstDatetime加上指定的小时数,返回日期时间 *

func DatetimeAddMinute

func DatetimeAddMinute(firstDatetime time.Time, minuteValue int) time.Time

* firstDatetime加上指定的分钟数,返回日期时间 *

func DatetimeAddSecond

func DatetimeAddSecond(firstDatetime time.Time, secondValue int) time.Time

* firstDatetime加上指定的秒数,返回日期时间 *

func DatetimeSub

func DatetimeSub(firstDatetime, secondDatetime time.Time) time.Duration

* firstDatetime减去secondDatetime,返回时间间隔 *

func EmailFilter

func EmailFilter(source string) string

* 电子邮件过滤 *

func EncodeMd5

func EncodeMd5(value string) string

EncodeMd5 md5 encryption

func FilterHostProtocol

func FilterHostProtocol(path string) string

* 过滤主机协议 *

func FilterInt64Slice

func FilterInt64Slice(all, other []int64) []int64

* 过滤int64数组(从all中过滤所有other中的数据,返回未被过滤的数据集合) *

func FilterStringSlice

func FilterStringSlice(all, other []string) []string

* 过滤字符数组(从all中过滤所有other中的数据,返回未被过滤的数据集合) *

func FilterUint64Slice

func FilterUint64Slice(all, other []uint64) []uint64

* 过滤uint64数组(从all中过滤所有other中的数据,返回未被过滤的数据集合) *

func FindProcessID

func FindProcessID(processName string) (int, error)

* 根据进程名称找到对应的pid *

func Float64ToString

func Float64ToString(value float64) string

* 浮点64转为字符串 *

func FromBase64

func FromBase64(data string, args ...bool) (string, error)

* Base64字符解码 *

func FromJson

func FromJson(jsonString string, object interface{}) error

* Json字符串转换成对象 *

func FromXml

func FromXml(xmlString string, object interface{}) error

* Xml字符串转换成对象 *

func GetCurrentDay

func GetCurrentDay() int32

* 获取当前日 *

func GetCurrentDayCount

func GetCurrentDayCount(args ...time.Time) int

* 获取当前日期月份对应的天数 *

func GetCurrentHour

func GetCurrentHour() int32

* 获取当前小时 *

func GetCurrentMinute

func GetCurrentMinute() int32

* 获取当前分钟 *

func GetCurrentMonth

func GetCurrentMonth() int32

* 获取当前月份 *

func GetCurrentMonthMaxDate

func GetCurrentMonthMaxDate(args ...time.Time) time.Time

* 获取当月里最大日期时间(2016-01-02 23:59:59 999999999) *

func GetCurrentMonthMaxNanoTimestamp

func GetCurrentMonthMaxNanoTimestamp(args ...time.Time) int64

* 获取当月里最大日期时间戳(当月最后一天最大时间),单位纳秒 *

func GetCurrentMonthMaxTimestamp

func GetCurrentMonthMaxTimestamp(args ...time.Time) int64

* 获取当月里最大日期时间戳(当月最后一天最大时间),单位秒 *

func GetCurrentMonthMinDate

func GetCurrentMonthMinDate(args ...time.Time) time.Time

* 获取当月里最小日期时间(2016-01-01 0:0:0 0) *

func GetCurrentMonthMinNanoTimestamp

func GetCurrentMonthMinNanoTimestamp(args ...time.Time) int64

* 获取当月里最小日期时间戳(当月第一天最小时间),单位纳秒 *

func GetCurrentMonthMinTimestamp

func GetCurrentMonthMinTimestamp(args ...time.Time) int64

* 获取当月里最小日期时间戳(当月第一天最小时间),单位秒 *

func GetCurrentSecond

func GetCurrentSecond() int32

* 获取当前秒数 *

func GetCurrentTime

func GetCurrentTime() time.Time

func GetCurrentTimeStr

func GetCurrentTimeStr() string

func GetCurrentTimeUnix

func GetCurrentTimeUnix() int64

func GetCurrentWeek

func GetCurrentWeek() int

* 获取当前日期是周几(1:周一|2:周二|...|7:周日) *

func GetCurrentWeekDayRange

func GetCurrentWeekDayRange() (int, int)

* 获取当前周对应的月份里的日期范围(minDay in month, maxDay in month) *

func GetCurrentYear

func GetCurrentYear() int32

* 获取当前年份 *

func GetDateDay

func GetDateDay(datetime time.Time) int32

* 获取日期时间的日部分 *

func GetDateHour

func GetDateHour(datetime time.Time) int32

* 获取日期时间的小时部分 *

func GetDateMinute

func GetDateMinute(datetime time.Time) int32

* 获取日期时间的分钟部分 *

func GetDateMonth

func GetDateMonth(datetime time.Time) int32

* 获取日期时间的月份 *

func GetDateRangeForWeekInDateRange

func GetDateRangeForWeekInDateRange(startDate, endDate time.Time, week int) []time.Time

* 获取日期范围内的所属周几的日期集合 * week:从1开始,1表示周一,依次类推 *

func GetDateSecond

func GetDateSecond(datetime time.Time) int32

* 获取日期时间的秒部分 *

func GetDateYear

func GetDateYear(datetime time.Time) int32

* 获取日期时间的年份 *

func GetDateYearMonthDay

func GetDateYearMonthDay(args ...time.Time) int

* 获取当前年月日的整型数字值 *

func GetDatetimeForDateAndTimeString

func GetDatetimeForDateAndTimeString(date time.Time, timeString string) time.Time

* 日期时间的日期部分和时间字符串连接,返回日期时间 *

func GetDatetimeWeekString

func GetDatetimeWeekString(datetime time.Time) string

* 获取日期时间的日期和星期字符串 *

func GetDayCount

func GetDayCount(datetime time.Time) int

* 获取指定日期月份对应的天数 *

func GetMaxDate

func GetMaxDate(dtTime time.Time) time.Time

* 返回日期的最大日期时间(2016-01-02 23:59:59 999999999) *

func GetMaxDateNanoTimestamp

func GetMaxDateNanoTimestamp(dtTime time.Time) int64

* 获取日期的最大日期时间戳,单位纳秒 *

func GetMaxDateTimestamp

func GetMaxDateTimestamp(dtTime time.Time) int64

* 获取日期的最大日期时间戳,单位秒 *

func GetMinDate

func GetMinDate(dtTime time.Time) time.Time

* 返回日期的最小日期时间(2016-01-02 00:00:00) *

func GetMinDateNanoTimestamp

func GetMinDateNanoTimestamp(dtTime time.Time) int64

* 获取日期的最小日期时间戳,单位纳秒 *

func GetMinDateTimestamp

func GetMinDateTimestamp(dtTime time.Time) int64

* 获取日期的最小日期时间戳,单位秒 *

func GetNow

func GetNow() time.Time

* 获取当前Local日期时间 *

func GetStringCount

func GetStringCount(sourceString string) int

* 获取字符串个数(不是字节数) *

func GetSubString

func GetSubString(sourceString string, count int, args ...string) string

* 获取指定长度的字符串 *

func GetTimeIntervalStringSlice

func GetTimeIntervalStringSlice(startDate, endDate time.Time, minutes int64) []string

* 获取一段时间范围内指定间隔的时间段集合 *

func GetTokenString

func GetTokenString() string

* 获取当前唯一Token字符串 *

func GetUint64SliceRange

func GetUint64SliceRange(int64Slice []uint64, count int) []uint64

* 获取指定个数的uint64slice *

func GetUtcNow

func GetUtcNow() time.Time

* 获取当前Utc日期时间 *

func GetWeek

func GetWeek(datetime time.Time) int

* 获取指定的日期是周几(1:周一|2:周二|...|7:周日) *

func HasPrefix

func HasPrefix(content, target string) bool

* 判断内容字符串头是否包含指定的字符串 *

func HasPrefixSuffix

func HasPrefixSuffix(content, target string) bool

* 判断内容字符串头尾是否包含指定的字符串 *

func HasSuffix

func HasSuffix(content, target string) bool

* 判断内容字符串尾是否包含指定的字符串 *

func HtmlToPureText

func HtmlToPureText(html string) string

func IdCardNumFilter

func IdCardNumFilter(source string) string

* 身份证号过滤 *

func InArray

func InArray(arr []string, str string) bool

func Int64Diff

func Int64Diff(one, two []int64) []int64

* int64差集合 *

func Int64Inter

func Int64Inter(one, two []int64) []int64

* int64交集合 *

func Int64SliceToString

func Int64SliceToString(intSlice []int64, args ...string) string

* 用指定的字符串把int64切片链接为字符串 *

func Int64SliceToStringSlice

func Int64SliceToStringSlice(values []int64) []string

* 整型64切片转为字符串切片 *

func Int64ToString

func Int64ToString(value int64) string

* 整型64转为字符串 *

func Int64Union

func Int64Union(one, two []int64) []int64

* int64并集合 *

func IntSliceToDate

func IntSliceToDate(intSlice []int) (time.Time, error)

* int切片转成日期 *

func IsAlpha

func IsAlpha(sourceString string, args ...interface{}) bool

* 是否英文单词 *

func IsAlphaOrNumber

func IsAlphaOrNumber(sourceString string) bool

* 是否英文单词或数字 *

func IsChinese

func IsChinese(sourceString string, args ...interface{}) bool

* 是否中文 *

func IsDateGreaterThan

func IsDateGreaterThan(firstDatetime, secondDatetime time.Time) bool

* 判断firstDatetime是否在secondDatetime的后面,即firstDatetime比secondDatetime日期大 *

func IsDateLessThan

func IsDateLessThan(firstDatetime, secondDatetime time.Time) bool

* 判断firstDatetime是否在secondDatetime的前面,即firstDatetime比secondDatetime日期小 *

func IsDecimals

func IsDecimals(str ...string) bool

纯小数

func IsEmail

func IsEmail(str ...string) bool

邮箱 最高30位

func IsEngishLowCase

func IsEngishLowCase(str ...string) bool

************************ 英文类型 ************************ 仅小写

func IsEnglish

func IsEnglish(str ...string) bool

大小写混合

func IsEnglishCap

func IsEnglishCap(str ...string) bool

仅大写

func IsID

func IsID(str ...string) bool

************************ 自定义类型 *********************** 数字+字母 不限制大小写 6~30位

func IsIdCardNum

func IsIdCardNum(sourceString string) bool

* 是否身份证号码 *

func IsInteger

func IsInteger(str ...string) bool

************************ 数字类型 *********************** 纯整数

func IsJSON

func IsJSON(str string) bool

func IsMatchStringSliceCount

func IsMatchStringSliceCount(srcSlice []string, maxCount, stringItemCount int) bool

* 判断字符串切片及单个项的字符数是否匹配指定大小, *

func IsMobile

func IsMobile(str ...string) bool

手提电话(不带前缀)最高11位

func IsNumber

func IsNumber(sourceString string, args ...interface{}) bool

* 是否数字 *

func IsPwd

func IsPwd(str ...string) bool

数字+字母+符号 6~30位

func IsRegexpMatch

func IsRegexpMatch(sourceString string, pattern string) bool

* 正则是否匹配 *

func IsSql

func IsSql(source string) bool

* 判断是否sql *

func IsTelephone

func IsTelephone(str ...string) bool

家用电话(不带前缀) 最高8位

func IsTelphone

func IsTelphone(sourceString string) bool

* 是否电话号码 *

func IsUsername

func IsUsername(sourceString string, args ...interface{}) bool

* 是否用户名(以英文字母开头,后面跟英文字母和数据以及下划线) *

func JSON

func JSON(a interface{}) string

func JoinMapToString

func JoinMapToString(params map[string]string, filterKeys []string, isEscape bool) string

* 字典参数升序排序,组成键=值集合,然后把集合用&拼接成字符串 *

func JsonToStruct

func JsonToStruct(data string, value interface{}) error

func MapDataSign

func MapDataSign(params map[string]string, secret string) (string, bool)

* 签名算法 * params里的每个Value都需要进行url编码 * fmt.Sprintf("%s=%s", key, url.QueryEscape(value)) *

func Match

func Match(p string, s string) bool

func Md5

func Md5(value string) string

func Min

func Min(x, y int) int

func MinutesToTimeString

func MinutesToTimeString(minutes int64) string

* 分钟数转时间字符串(HH:mm:ss) *

func MobileFilter

func MobileFilter(source string) string

* 手机号过滤 *

func ModFloat64

func ModFloat64(value float64, length int) float64

* 保留浮点数指定长度的小数位数 *

func MonthsToSeasons

func MonthsToSeasons(months []int32) []string

* 月份数值集合转换成季节名集合 *

func PackageName

func PackageName(v interface{}) string

func ParseBool

func ParseBool(s string) bool

func ParseFloat32

func ParseFloat32(f string) float32

func ParseHTML

func ParseHTML(name, tmpl string, param interface{}) template.HTML

func ParseText

func ParseText(name, tmpl string, param interface{}) string

func ParseTime

func ParseTime(stringTime string) time.Time

func RandNum

func RandNum(min, max int) int

包含min, max

func RandNumStr

func RandNumStr(n int) string

func RandOrd

func RandOrd(n int) string

func RandStr

func RandStr(n int, letter string) string

随机生成字符串

func RandString

func RandString(n int) string

func Random

func Random(strings []string) ([]string, error)

func ReplaceAll

func ReplaceAll(s string, oldnew ...string) string

func ReplaceNth

func ReplaceNth(s, old, new string, n int) string

func ReverseString

func ReverseString(sourceString string) string

* 翻转字符串 *

func ReverseUint64Slice

func ReverseUint64Slice(int64Slice []uint64)

* 翻转uint64 Slice *

func SetDefault

func SetDefault(value, condition, def string) string

func Split

func Split(str, sep string) []string

golang 切割空字符串依然会得到包含一个空元素的数组 => [""]

func SqlFilter

func SqlFilter(source string) string

* sql过滤 *

func StartProcess

func StartProcess(processName string) (string, error)

* 运行指定的进程 *

func StopProcess

func StopProcess(processName string) (string, error)

* 杀死指定pid进程 *

func String2Br

func String2Br(source string) string

* 换行转br标签 *

func StringDiff

func StringDiff(one, two []string) []string

* 字符集合的差集合 *

func StringInter

func StringInter(one, two []string) []string

* 字符集合的交集合 *

func StringReplace

func StringReplace(sourceString string, args ...string) string

* 字符串替换 * sourceString: 原始字符串 * args[0...n-2]: 被替换字符串集合 * args[n-1]: 替换字符串 *

func StringSliceLatest

func StringSliceLatest(srcSlice []string, maxCount int) []string

* 保留指定长度字符串切片,前面的数据移除 *

func StringSliceToDate

func StringSliceToDate(dateStringSlice []string) (time.Time, error)

* 日期字符串切片转成日期 *

func StringSliceToInt64Slice

func StringSliceToInt64Slice(values []string) []int64

* 字符串切片转为整型64切片 *

func StringSliceToString

func StringSliceToString(stringSlice []string, args ...string) string

* 用指定的字符串链接字符串切片 *

func StringSliceToUint64Slice

func StringSliceToUint64Slice(values []string) []uint64

* 字符串切片转为无符号整型64切片 *

func StringToBool

func StringToBool(stringValue string) bool

* 字符串转换为bool *

func StringToFloat64

func StringToFloat64(stringValue string) float64

* 字符串转换为float64 *

func StringToInt

func StringToInt(e string) (int, error)

func StringToInt32

func StringToInt32(stringValue string) int32

* 字符串转换为int32 *

func StringToInt64

func StringToInt64(stringValue string) int64

* 字符串转换为int64 *

func StringToInt64Slice

func StringToInt64Slice(sourceString string, args ...string) []int64

* 用指定的字符串把源字符串分隔为int64切片 *

func StringToIntSlice

func StringToIntSlice(sourceString string, args ...string) []int

* 用指定的字符串把源字符串分隔为int切片 *

func StringToStringSlice

func StringToStringSlice(sourceString string, args ...string) []string

* 用指定的字符串分隔源字符串为字符串切片 *

func StringToTime

func StringToTime(datetimeString string, args ...interface{}) (time.Time, error)

* 字符串转时间 * isUtc参数决定传入的日期字符串是否是utc日期 * isUtc:bool | format:string * 返回UTC日期 *

func StringToUint32

func StringToUint32(stringValue string) uint32

* 字符串转换为uint32 *

func StringToUint64

func StringToUint64(stringValue string) uint64

* 字符串转换为uint64 *

func StringToUint64Slice

func StringToUint64Slice(sourceString string, args ...string) []uint64

* 用指定的字符串把源字符串分隔为uint64切片 *

func StringUnion

func StringUnion(one, two []string) []string

* 字符集合的并集合 *

func StructToJson

func StructToJson(value interface{}) (res string, err error)

func SubString

func SubString(src string, start, end int) string

截取文本 支持中文

func Substr

func Substr(s string, pos, length int) string

func TimeSincePro

func TimeSincePro(then time.Time, m map[string]string) string

TimeSincePro calculates the time interval and generate full user-friendly string.

func TimeStringAddMinutes

func TimeStringAddMinutes(timeString string, minutes int) string

* 时间字符串加指定的分钟数,返回时间字符串 *

func TimeToFriendString

func TimeToFriendString(datetime time.Time, args ...interface{}) string

* 日期时间转换成友好的显示字符串 * isUtc:bool | format:string *

func TimeToString

func TimeToString(datetime time.Time, args ...interface{}) string

* 时间转字符串 *

func TimeToUnix

func TimeToUnix(e time.Time) int64

时间转时间戳

func ToBase64

func ToBase64(data string, args ...bool) string

* Base64字符编码 *

func ToJson

func ToJson(object interface{}) (string, error)

* 对象转换成Json字符串 *

func ToLowerUnderlinedNamer

func ToLowerUnderlinedNamer(name string) string

ToLowerUnderlinedNamer 转换为小写下划线命名

func ToXml

func ToXml(object interface{}) (string, error)

* 对象转换成Xml字符串 *

func TrimSpaceLine

func TrimSpaceLine(source string) string

* 去除连续的换行符 *

func Uint64Diff

func Uint64Diff(one, two []uint64) []uint64

* uint64差集合 *

func Uint64Inter

func Uint64Inter(one, two []uint64) []uint64

* uint64交集合 *

func Uint64SliceToString

func Uint64SliceToString(uintSlice []uint64, args ...string) string

* 用指定的字符串把uint64切片链接为字符串 *

func Uint64SliceToStringSlice

func Uint64SliceToStringSlice(values []uint64) []string

* 无符号整型64切片转为字符串切片 *

func Uint64ToString

func Uint64ToString(value uint64) string

* 无符号整型64转为字符串 *

func Uint64Union

func Uint64Union(one, two []uint64) []uint64

* uint64并集合 *

func UnixDate

func UnixDate() time.Time

* Golang零时间日期(0001-01-01 00:00:00) * -62135596800 *

func UnixNanoTimestamp

func UnixNanoTimestamp() int64

* 获取当前Unix纳秒时间戳 * 当前日期距离197011000的纳秒数 *

func UnixNanoTimestampToDate

func UnixNanoTimestampToDate(unixNanoTimestamp int64) time.Time

* 根据Unix纳秒时间戳返回日期 *

func UnixTimestamp

func UnixTimestamp() int64

* 获取当前Unix时间戳 * 当前日期距离197011000的秒数 *

func UnixTimestampDate

func UnixTimestampDate() time.Time

* Unix时间戳日期(1970-01-01 00:00:00) *

func UnixTimestampToDate

func UnixTimestampToDate(unixTimestamp int64) time.Time

* 根据Unix时间戳返回日期 *

func UnixToTime

func UnixToTime(e string) (datatime time.Time, err error)

时间戳转时间

func Uuid

func Uuid(length int64) string

func WeekDay

func WeekDay(t time.Time) string

WeekDay 获取当前日的周名称

func WrapURL

func WrapURL(u string) string

Types

type Mailer

type Mailer struct {
	// contains filtered or unexported fields
}

func (*Mailer) SendMail

func (m *Mailer) SendMail(to []string, subject, body string) bool

Jump to

Keyboard shortcuts

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