Skip to content

linabellbiu/assist

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go 工具集

未完待续...

file包

import "github.com/wangxudong123/assist/file"

文件处理

  • 写文件 func WriteFile(path, msg string, flag int, perm os.FileMode) error

number包

import "github.com/wangxudong123/assist/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]

str包

import "github.com/wangxudong123/assist/str"

字符串处理

  • 拼接字符串func Join(arg ...interface{}) (string, error)

    Join(p_int,p_int64,p_string)
  • 首字母大写 func Capitalize(str string) string

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

time包

import "github.com/wangxudong123/assist/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