Documentation
¶
Index ¶
- Constants
- func ApplyRateCeil[T NumberType](value T, rate int) int64
- func ApplyRateFloor[T NumberType](value T, rate int) int64
- func CalculateDistance[T IntegerType](longitude1, latitude1, longitude2, latitude2 float64) T
- func CalculateRate[T NumberType](value1, value2 T) int
- func DarkenColor(color string, offset float64) (string, error)
- func DecodeUriComponent(str string) (string, error)
- func DiscountToBackend[T IntegerType](value float64) T
- func DiscountToDisplay[T IntegerType](value T) float64
- func DistanceToBackend[T IntegerType](value float64) T
- func DistanceToDisplay[T IntegerType](value T) float64
- func DivideNumber[T NumberType](value1, value2 T) T
- func EncodeUriComponent(str string) string
- func EndOfDay(t time.Time) time.Time
- func EndOfHour(t time.Time) time.Time
- func EndOfMonth(t time.Time) time.Time
- func EndOfWeek(t time.Time) time.Time
- func FormatAmount[T IntegerType](value T, unit ...string) string
- func FormatAmountShortly[T IntegerType](value T, unit ...string) string
- func FormatArea(area IArea, options ...IFormatAreaOptions) string
- func FormatBankCardNumber(value string, masked ...bool) string
- func FormatBirthday(value int64) string
- func FormatBusinessTimes(value []int) string
- func FormatCategory(category ICategory) string
- func FormatCount[T IntegerType](value T, unit ...string) string
- func FormatCountShortly[T IntegerType](value T, unit ...string) string
- func FormatDate(t time.Time, format ...string) string
- func FormatDateRange(start, end time.Time) string
- func FormatDateShortly(t time.Time) string
- func FormatDateTime(t time.Time, format ...string) string
- func FormatDateTimeRange(start, end time.Time) string
- func FormatDateTimeShortly(t time.Time) string
- func FormatDiscount[T IntegerType](value T) string
- func FormatDistance[T IntegerType](distance T) string
- func FormatDuration(value int64) string
- func FormatMonth(t time.Time) string
- func FormatNumberWithComma(value float64, decimals ...int) string
- func FormatPenny[T IntegerType](value T, unit ...string) string
- func FormatRatePercent[T IntegerType](value T) string
- func FormatShelfLife[T IntegerType](value T) string
- func FormatSize(value float64) string
- func FormatWeek(t time.Time) string
- func FormatYear(t time.Time) string
- func GetStringLength(str string) int
- func GetStringWidth(str string) int
- func HasDecimal(value float64) bool
- func HasSpecialCharacters(str string) bool
- func HexToRgbaString(color string, alpha float64) (string, error)
- func IsBankCardNumber(value string) bool
- func IsCorporateAccountNumber(value string) bool
- func IsCustomBarcode(value string) bool
- func IsEmail(value string) bool
- func IsIdentityCardNumber(value string) bool
- func IsMobile(value string) bool
- func IsPrice(value string) bool
- func IsStandardBarcode(value string) bool
- func IsUrl(value string) bool
- func IsVerifyCode(value string) bool
- func LightenColor(color string, offset float64) (string, error)
- func MaskEmail(email string) string
- func MaskMobile(mobile string) string
- func MaskName(name string) string
- func MinusNumber[T NumberType](value1, value2 T) T
- func MoneyToBackend[T IntegerType](value float64, unit ...int) T
- func MoneyToDisplay[T IntegerType](value T, unit ...int) float64
- func NormalizeUrl(urlStr string) string
- func NormalizeVersion(value string) string
- func OptimizeTimeRange(startTime, endTime time.Time, optimizer ITimeRangeOptimizer)
- func PadStringStart(str string, length int) string
- func ParseAuthCode(value string) int
- func ParseInteger(str string, radix ...int) (int64, error)
- func ParseNumber(str string) (float64, error)
- func ParsePhoneNumber(value string) int
- func ParseTime(str string, format string) (time.Time, error)
- func PlusNumber[T NumberType](value1, value2 T) T
- func RandomIntegerByLength[T IntegerType](length int) T
- func RandomIntegerByRange[T IntegerType](min, max T) T
- func RandomStringByCurrentTime(tailLength int) string
- func RandomStringByLength(length int, chars ...string) string
- func RateToBackend[T NumberType](value T) int
- func RateToDisplay[T IntegerType](value T) float64
- func RemoveSpecialCharacters(str string) string
- func RenderStringTemplate(str string, data map[string]interface{}) string
- func ShortNumber[T NumberType](value T, formatUnshort func(T) string) string
- func SliceString(str string, start, end int) string
- func StartOfDay(t time.Time) time.Time
- func StartOfHour(t time.Time) time.Time
- func StartOfMonth(t time.Time) time.Time
- func StartOfNextDay(t time.Time) time.Time
- func StartOfNextHour(t time.Time) time.Time
- func StartOfNextMonth(t time.Time) time.Time
- func StartOfNextWeek(t time.Time) time.Time
- func StartOfPrevDay(t time.Time) time.Time
- func StartOfPrevHour(t time.Time) time.Time
- func StartOfPrevMonth(t time.Time) time.Time
- func StartOfPrevWeek(t time.Time) time.Time
- func StartOfWeek(t time.Time) time.Time
- func TimeFieldToTime(t ITimeField) time.Time
- func TimeToTimestamp(t time.Time) int64
- func TimesNumber[T NumberType](value1, value2 T) T
- func TimestampToTime(timestamp int64) time.Time
- func ToProtocolRelativeUrl(urlStr string) string
- func TrimString(str string) string
- func TruncateNumber(value float64, decimals int) string
- func TruncateString(str string, maxLength int) string
- func WeightGToBackend[T IntegerType](value float64) T
- func WeightKGToBackend[T IntegerType](value float64) T
- func WeightToG[T IntegerType](value T) float64
- func WeightToKG[T IntegerType](value T) float64
- type IArea
- type ICategory
- type IDuration
- type IFormatAreaOptions
- type IHsl
- type INode
- type IRgba
- type IShelfLife
- type ITimeField
- type ITimeRangeOptimizer
- type IntegerType
- type NumberType
Constants ¶
const AMOUNT_ONE_YUAN = 100
一元
const AMOUNT_TEN_THOUSAND_YUAN = 10000 * AMOUNT_ONE_YUAN
一万元
const AUTH_CODE_ALIPAY = 2
支付宝付款码
const AUTH_CODE_WECHAT = 1
微信付款码
const DATE_MONTH_DATE = "01-02"
月日:10-01
const DATE_MONTH_DATE_CHINESE = "1月2日"
月日:10月1日
const DATE_MONTH_DATE_DOT = "01.02"
月日:10.01
const DATE_MONTH_DATE_SLASH = "01/02"
月日:10/01
const DATE_TIME_MONTH_DATE_HOUR_MINUTE = "01-02 15:04"
月日 时分:10-01 10:00
const DATE_TIME_MONTH_DATE_HOUR_MINUTE_CHINESE = "1月2日 15:04"
月日 时分:10/01 10:00
const DATE_TIME_MONTH_DATE_HOUR_MINUTE_DOT = "01.02 15:04"
月日 时分:10.01 10:00
const DATE_TIME_MONTH_DATE_HOUR_MINUTE_SLASH = "01/02 15:04"
月日 时分:10/01 10:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE = "2006-01-02 15:04"
年月日 时分:2020-10-01 10:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_CHINESE = "2006年1月2日 15:04"
年月日 时分:2020/10/01 10:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_DOT = "2006.01.02 15:04"
年月日 时分:2020.10.01 10:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_SECOND = "2006-01-02 15:04:05"
年月日 时分秒:2020-10-01 10:00:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_SECOND_CHINESE = "2006年1月2日 15:04:05"
年月日 时分秒:2020/10/01 10:00:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_SECOND_DOT = "2006.01.02 15:04:05"
年月日 时分秒:2020.10.01 10:00:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_SECOND_SLASH = "2006/01/02 15:04:05"
年月日 时分秒:2020/10/01 10:00:00
const DATE_TIME_YEAR_MONTH_DATE_HOUR_MINUTE_SLASH = "2006/01/02 15:04"
年月日 时分:2020/10/01 10:00
const DATE_YEAR_MONTH_DATE = "2006-01-02"
年月日:2020-10-01
const DATE_YEAR_MONTH_DATE_CHINESE = "2006年1月2日"
年月日:2020年10月1日
const DATE_YEAR_MONTH_DATE_DOT = "2006.01.02"
年月日:2020.10.01
const DATE_YEAR_MONTH_DATE_SLASH = "2006/01/02"
年月日:2020/10/01
const MONEY_TEN_THOUSAND_YUAN_TO_CENT = 10000 * MONEY_YUAN_TO_CENT
万元 转 分
const MONEY_YUAN_TO_CENT = 100
元 转 分
const MONEY_YUAN_TO_PENNY = 1000
元 转 厘
const MONTH_CHINESE = "2006年1月"
中文版年月
const MONTH_DEFAULT = "2006-01"
年月:2020-10
const MONTH_ONLY = "01"
只有月:10
const MONTH_ONLY_CHINESE = "1月"
中文版只有月
const MS_DAY = 24 * MS_HOUR
毫秒数:天
const MS_HOUR = 60 * MS_MINUTE
毫秒数:小时
const MS_MINUTE = 60 * MS_SECOND
毫秒数:分钟
const MS_SECOND = 1000
毫秒数:秒
const MS_WEEK = 7 * MS_DAY
毫秒数:周
const MS_YEAR = 365 * MS_DAY
毫秒数:年
const PHONE_NUMBER_400 = 3
400 电话
const PHONE_NUMBER_LANDLINE = 2
固定电话
const PHONE_NUMBER_MOBILE = 1
手机号
const SHELF_LIFE_DAY = 24
保质期:日
const SHELF_LIFE_MONTH = 30 * SHELF_LIFE_DAY
保质期:月
const SHELF_LIFE_YEAR = 365 * SHELF_LIFE_DAY
保质期:年
const SIZE_GB = 1024 * SIZE_MB
体积:GB
const SIZE_KB = 1024
体积:KB
const SIZE_MB = 1024 * SIZE_KB
体积:MB
const YEAR_CHINESE = "2006年"
中文版
const YEAR_DEFAULT = "2006"
年:2020
Variables ¶
This section is empty.
Functions ¶
func ApplyRateCeil ¶ added in v0.1.9
func ApplyRateCeil[T NumberType](value T, rate int) int64
ApplyRateCeil 根据万分比计算数值,策略是向上取整 value: 原始数值 rate: 万分比比例
func ApplyRateFloor ¶ added in v0.1.9
func ApplyRateFloor[T NumberType](value T, rate int) int64
ApplyRateFloor 根据万分比计算数值,策略是向下取整 value: 原始数值 rate: 万分比比例
func CalculateDistance ¶
func CalculateDistance[T IntegerType](longitude1, latitude1, longitude2, latitude2 float64) T
CalculateDistance 计算两个点之间的距离,返回距离单位是米
longitude1 第一个点的经度 latitude1 第一个点的纬度 longitude2 第二个点的经度 latitude2 第二个点的纬度
func CalculateRate ¶
func CalculateRate[T NumberType](value1, value2 T) int
CalculateRate 计算万分比,即 value1 / value2 得到一个万分比 value1: 除数 value2: 被除数 返回万分比比例
func DarkenColor ¶ added in v0.1.6
DarkenColor 加深颜色亮度 color: HEX 颜色值 offset: 加深幅度,取值范围 0-1 返回新的 hex 颜色
func DecodeUriComponent ¶ added in v0.1.3
DecodeUriComponent 解码 URI 组件
func DiscountToBackend ¶
func DiscountToBackend[T IntegerType](value float64) T
DiscountToBackend 折扣 转换为 万分比
value 前端的比例值
func DiscountToDisplay ¶
func DiscountToDisplay[T IntegerType](value T) float64
DiscountToDisplay 万分比 转换为 折扣,最多保留 1 位小数
value 后端的比例值
func DistanceToBackend ¶
func DistanceToBackend[T IntegerType](value float64) T
DistanceToBackend 千米 转换为 米
value 前端的比例值
func DistanceToDisplay ¶
func DistanceToDisplay[T IntegerType](value T) float64
DistanceToDisplay 米 转换为 千米
value 后端的比例值
func DivideNumber ¶
func DivideNumber[T NumberType](value1, value2 T) T
DivideNumber 精确除法,比如 DivideNumber(6, 2) === 3
func EncodeUriComponent ¶ added in v0.1.3
EncodeUriComponent 编码 URI 组件
func FormatAmount ¶
func FormatAmount[T IntegerType](value T, unit ...string) string
FormatAmount 格式化金额(元),保留 2 位小数
func FormatAmountShortly ¶
func FormatAmountShortly[T IntegerType](value T, unit ...string) string
FormatAmountShortly 格式化金额(元),以较短的方式返回
func FormatArea ¶
func FormatArea(area IArea, options ...IFormatAreaOptions) string
func FormatBusinessTimes ¶
FormatBusinessTimes 营业时间时段范围为 [0, 2880] 可跨天, 0-1440 为当天,1440-2880 为次日
func FormatCategory ¶
func FormatCount ¶
func FormatCount[T IntegerType](value T, unit ...string) string
FormatCount 格式化数量
func FormatCountShortly ¶
func FormatCountShortly[T IntegerType](value T, unit ...string) string
FormatCountShortly 格式化数量(以尽可能短的方式显示数量)
func FormatDateRange ¶
FormatDateRange 把时间戳格式化为 2020-10-01 至 2020-10-02 形式
func FormatDateShortly ¶
FormatDateShortly 把同年份的时间戳格式化为 10-01 格式,不同年份的时间戳格式化成 2020-10-01 格式
func FormatDateTime ¶
FormatDateTime 把时间戳格式化为 2020-10-01 10:00 格式
func FormatDateTimeRange ¶
FormatDateTimeRange 把时间戳格式化为 2020-10-01 00:00 至 2020-10-02 00:00 形式
func FormatDateTimeShortly ¶
FormatDateTimeShortly 把同年份的时间戳格式化为 10-01 10:00 格式,不同年份的时间戳格式化成 2020-10-01 10:00 格式
func FormatDistance ¶
func FormatDistance[T IntegerType](distance T) string
FormatDistance 把距离格式化为千米单位
func FormatDuration ¶
func FormatNumberWithComma ¶
FormatNumberWithComma 把数字的整数部分格式化为以千为段拆分,以逗号为分隔符
value 数字 decimals 保留几位小数
func FormatPenny ¶
func FormatPenny[T IntegerType](value T, unit ...string) string
FormatPenny 格式化金额(厘),保留 3 位小数
func FormatRatePercent ¶
func FormatRatePercent[T IntegerType](value T) string
FormatRatePercent 把万分比格式化为百分比
func FormatShelfLife ¶
func FormatShelfLife[T IntegerType](value T) string
func FormatSize ¶
func HasSpecialCharacters ¶ added in v0.1.4
HasSpecialCharacters 判断字符串是否包含特殊字符
func HexToRgbaString ¶ added in v0.0.9
HexToRgbaString 将 HEX 颜色转换为 RGBA 格式 color: HEX 颜色值 alpha: 透明度,取值范围 0-1 返回 RGBA 颜色字符串
func IsCorporateAccountNumber ¶ added in v0.1.8
IsCorporateAccountNumber 是否为对公账户号码 value: 对公账户号码 返回: 是否为对公账户
func IsIdentityCardNumber ¶ added in v0.1.0
IsIdentityCardNumber 是否为身份证号码 value 要校验的值 返回是否为身份证号码
func LightenColor ¶ added in v0.1.6
LightenColor 减淡颜色亮度 color: HEX 颜色值 offset: 减淡幅度,取值范围 0-1 返回新的 hex 颜色
func MinusNumber ¶
func MinusNumber[T NumberType](value1, value2 T) T
MinusNumber 精确减法,比如 MinusNumber(3, 1) === 2
func MoneyToBackend ¶
func MoneyToBackend[T IntegerType](value float64, unit ...int) T
MoneyToBackend 把金额转换为后端接口所用的格式
value 前端的金额值
func MoneyToDisplay ¶
func MoneyToDisplay[T IntegerType](value T, unit ...int) float64
MoneyToDisplay 把金额转换为前端显示所用的格式
value 后端的金额值,单位是分
func NormalizeUrl ¶ added in v0.1.3
NormalizeUrl 标准化 URL:确保包含协议部分
func NormalizeVersion ¶
NormalizeVersion 标准化版本号,方便后续进行比较
version 如 '1.2.3',最多支持三段,每段的子版本号不超过 9999 returns 标准化后的版本号,12 位长度
func OptimizeTimeRange ¶
func OptimizeTimeRange(startTime, endTime time.Time, optimizer ITimeRangeOptimizer)
OptimizeTimeRange 优化时间范围
func PadStringStart ¶ added in v0.1.2
func ParseInteger ¶ added in v0.1.7
parseInteger 解析字符串中的整型
func ParseNumber ¶ added in v0.1.7
ParseNumber 解析字符串中的浮点数
func PlusNumber ¶
func PlusNumber[T NumberType](value1, value2 T) T
PlusNumber 精确加法,比如 PlusNumber(3, 1) === 4
func RandomIntegerByLength ¶ added in v0.1.0
func RandomIntegerByLength[T IntegerType](length int) T
RandomIntegerByLength 生成指定长度的随机整数
func RandomIntegerByRange ¶ added in v0.1.0
func RandomIntegerByRange[T IntegerType](min, max T) T
RandomIntegerByRange 生成指定范围内的随机整数 支持 int 和 int64 类型,返回类型与参数类型保持一致
func RandomStringByCurrentTime ¶ added in v0.1.3
RandomStringByCurrentTime 根据当前时间生成随机字符串,可用 tailLength 控制重复的概率
func RandomStringByLength ¶ added in v0.1.0
RandomStringByLength 生成指定长度的随机字符串
func RateToBackend ¶
func RateToBackend[T NumberType](value T) int
RateToBackend 百分比 转换为 万分比
value 前端的比例值
func RateToDisplay ¶
func RateToDisplay[T IntegerType](value T) float64
RateToDisplay 万分比 转换为 百分比
value 后端的比例值
func RemoveSpecialCharacters ¶ added in v0.1.4
RemoveSpecialCharacters 移除字符串中的特殊字符
func RenderStringTemplate ¶ added in v0.1.0
RenderStringTemplate 渲染字符串模板 str: 字符串模板,例如:'你好,${name}' data: 数据对象,例如:map[string]interface{}{"name": "张三"} 返回渲染后的字符串,例如:'你好,张三'
func ShortNumber ¶
func ShortNumber[T NumberType](value T, formatUnshort func(T) string) string
ShortNumber 以较短的方式返回数字,避免 UI 层显示不下所有数字
func SliceString ¶ added in v0.1.0
SliceString 截取字符串
func StartOfNextHour ¶ added in v0.0.6
StartOfNextHour 获取下个小时开始时间
func StartOfPrevHour ¶ added in v0.0.6
StartOfPrevHour 获取前一个小时开始时间
func TimeFieldToTime ¶ added in v0.0.8
func TimeFieldToTime(t ITimeField) time.Time
func TimeToTimestamp ¶ added in v0.0.6
TimeToTimestamp 时间对象转成时间戳(毫秒)
func TimesNumber ¶
func TimesNumber[T NumberType](value1, value2 T) T
TimesNumber 精确乘法,比如 TimesNumber(3, 2) === 6
func TimestampToTime ¶ added in v0.0.6
TimestampToTime 时间戳转成时间对象
func ToProtocolRelativeUrl ¶ added in v0.1.3
ToProtocolRelativeUrl 将 URL 转换为协议相对路径(以 // 开头)
func TruncateNumber ¶
TruncateNumber 截断数字,解决 1.983.toFixed(1) 为 2.0 的问题
func TruncateString ¶ added in v0.0.6
TruncateString 截断字符串,最多显示 maxLength 个字符,超过部分用省略号表示
func WeightGToBackend ¶
func WeightGToBackend[T IntegerType](value float64) T
WeightGToBackend 克 转为后端使用的 毫克
value 前端的重量值,单位是克
func WeightKGToBackend ¶
func WeightKGToBackend[T IntegerType](value float64) T
WeightKGToBackend 千克 转为后端使用的 毫克
value 前端的重量值,单位是千克
func WeightToG ¶
func WeightToG[T IntegerType](value T) float64
WeightToG 毫克 转换为 克
value 后端的重量值,单位毫克
func WeightToKG ¶
func WeightToKG[T IntegerType](value T) float64
WeightToKG 毫克 转换为 千克
value 后端的重量值,单位毫克
Types ¶
type IDuration ¶
func NormalizeDuration ¶
type IFormatAreaOptions ¶
type IFormatAreaOptions struct {
Simplify bool
}
type IHsl ¶ added in v0.1.6
HSL 颜色对象
func HexToHslObject ¶ added in v0.1.6
HexToHslObject 将 HEX 颜色转换为 HSL 对象 color: HEX 颜色值 返回 HSL 颜色对象
type IRgba ¶ added in v0.0.9
RGBA 颜色对象
func HexToRgbaObject ¶ added in v0.0.9
HexToRgbaObject 将 HEX 颜色转换为 RGBA 对象 color: HEX 颜色值 返回 RGBA 颜色对象
type IShelfLife ¶
func NormalizeShelfLife ¶
func NormalizeShelfLife[T IntegerType](value T) *IShelfLife
type ITimeField ¶ added in v0.0.8
type ITimeField struct {
Year int
Month int
Date int
Hour int
Minute int
Second int
Millisecond int
}
func TimeToTimeField ¶ added in v0.0.8
func TimeToTimeField(t time.Time) ITimeField
type ITimeRangeOptimizer ¶
type IntegerType ¶ added in v0.1.1
IntegerType 定义支持的整数类型约束
type NumberType ¶ added in v0.1.2
NumberType 定义支持的数字类型约束
Source Files
¶
- constant_auth_code.go
- constant_date.go
- constant_date_time.go
- constant_millisecond.go
- constant_money.go
- constant_month.go
- constant_phone_number.go
- constant_shelf_life.go
- constant_size.go
- constant_year.go
- convert_color.go
- convert_discount.go
- convert_distance.go
- convert_money.go
- convert_rate.go
- convert_time.go
- convert_weight.go
- format_area.go
- format_bank_card.go
- format_birthday.go
- format_business_times.go
- format_category.go
- format_count.go
- format_date.go
- format_date_time.go
- format_discount.go
- format_distance.go
- format_duration.go
- format_money.go
- format_month.go
- format_number.go
- format_rate.go
- format_shelf_life.go
- format_size.go
- format_week.go
- format_year.go
- is_bank_card_number.go
- is_barcode.go
- is_corporate_account_number.go
- is_email.go
- is_identity_card_number.go
- is_mobile.go
- is_price.go
- is_url.go
- is_verify_code.go
- mask_email.go
- mask_mobile.go
- mask_name.go
- normalize_duration.go
- normalize_shelf_life.go
- normalize_version.go
- parse_auth_code.go
- parse_phone_number.go
- type.go
- util_number.go
- util_random.go
- util_rate.go
- util_string.go
- util_time.go
- util_url.go