Go开发中常用的工具集,持续更新...

553 阅读2分钟

如果觉得对你有帮助请点一下关注,Golang工具集

自己的工具集项目。持续更新...

项目地址github.com/wangxudong1…

v1.2.0

str包增加方法

  • 首字母大写 func Capitalize(str string) string

  • 判断首字母是否大写 func IsStartUpper(s string) bool

v1.1.0

增加number

数字类型转换

  • string转float64func StringToFloat64(value string) (f float64)

  • int64转float64func Int64ToFloat64(value int64) (f float64)

  • string转float64func StringToInt64(value string) (i int64)

  • string转intfunc StringToInt(value string) (i int)

  • float64转int64func Float64ToInt64(value float64) (i int64)

  • float64转stringfunc Float64ToString(value float64) (s string)

  • int64转stringfunc Int64ToString(value int64) (s string)

  • int64转float64func IntToFloat64(value int) (f float64)

处理小数位

  • 保留小数位func RoundFloat64(value float64, exp int) (num float64)

    exp 保留的位数

浮点型数字比较

  • 左 = 右func (c Cmp) Equal(l, r float64) bool

    res := Cpm.Equal(3, 3)
    t.Log(res) //true
    
  • 左 > 右func (c Cmp) Greater(l, r float64) bool

  • 左 > 右func (c Cmp) Smaller(l, r float64) bool

  • 左 >= 右func (c Cmp) GreaterOrEqual(l, r float64) bool

  • 左 <= 右func (c Cmp) SmallerOrEqual(l, r float64) bool

排序

  • 初始化数组func NewNumbers(n ...interface{}) number

    //数组可以包含float64,float32,int,int64,int32
    NewNumbers(3, 44, 3453, float64(4.999999999), float64(2.0000001))
    
  • 找出最大值func (n number) Max() float64

    max := NewNumbers(3, 44, 3453, float64(4.999999999), float64(2.0000001)).Max()
    t.Log(max) //3453
    
  • 找出最小值func (n number) Min() float64

    min := NewNumbers(3, 44, 3453, float64(4.999999999), float64(2.0000001)).Min()
    t.Log(min)//2.0000001
    
  • 从大到小排列 func (n number) OrderDesc() []interface{}

    返回数组的元素类型是原始的类型,没有做过转换

    desc := NewNumbers(3, 44, 3453, float64(4.999999999), float64(2.0000001)).OrderDesc()
    t.Log(desc) //[3453 44 4.999999999 3 2.0000001]
    
  • 从小到大排列func (n number) OrderAsc() []interface{}

    返回数组的元素类型是原始的类型,没有做过转换

    asc := NewNumbers(3, 44, 3453, float64(4.999999999), float64(2.0000001)).OrderAsc()
    t.Log(asc)//[2.0000001 3 4.999999999 44 3453]
    

v1.0.1

增加 time

时间转换
  • 创建当前时间对象func NewUnixNow() *theTime

    NewUnixNow()
    
  • 创建时间戳对象NewUnix(unix int64) *theTime

    NewUnix(1617264318)
    
  • 创建格式化时间对象NewFormat(t string) (*theTime, error)

    NewFormat("2021-04-01 12:00:00")
    
  • 创建iso8601时间对象NewISO8601(iso8601 string) (*theTime, error)

    NewIso8601("2019-09-11T01:54:23+00:00")
    
  • 格式化时间 func (t *theTime) ToFormat() string

  • 转时间戳 func (t *theTime) ToUnix() int64

  • 转iso8601时间表达式 func (t *theTime) ToIso8601() string

  • 通过时间模板格式化时间 func (t *theTime) ToFormatForTpl(tpl string) string

v1.0.0-beta.1

增加str

拼接字符串方法func Join(arg ...interface{}) (string, error)
str.Join(p_int,p_int64,p_string)