github.com/Anderson-Lu/gobox@v0.0.0-20191127065433-3e6c4c2da420/readme.md (about)

     1  #### 字符串操作
     2  
     3  ```shell
     4  go get github.com/Anderson-Lu/gobox/string
     5  ```
     6  
     7  |所属包|方法|功能|
     8  |-----|-----|-----|
     9  |`string`|`FindUrl(raw string) []string`|从指定字符串中正则匹配出来URL|
    10  
    11  #### 数值操作
    12  
    13  ```shell
    14  go get -u github.com/Anderson-Lu/gobox/number
    15  ```
    16  
    17  |所属包|方法|功能|
    18  |-----|-----|-----|
    19  |`number`|`RandomInt(max int) int`|返回0~max-1的随机数|
    20  |`number`|`Min(a1, a2 float64) float64`|返回a1和a2的最小值|
    21  |`number`|`MinN(aN ...int) int`|返回a1到aN的最小值|
    22  |`number`|`MinFloat64N(aN ...float64) float64`|返回a1到aN的最小值|
    23  |`number`|`FloorOrCeil(n int, raw float64, isUp bool) float64 `|指定精度位数进行向上或者向取整|
    24  |`number`|`CalcDigist(n float64) int`|返回精度|
    25  |`number`|`Round(f float64, n int) float64`|指定精度位数进行向下取整|
    26  |`number`|`CalcAverage(data Avg) float64`|[计算平均数](#方差和平均数)|
    27  |`number`|`CalcVariance(data Variance) float64`|[计算方差](#方差和平均数)|
    28  |`number`|`CalcNormsdist(a float64) float64`|计算正态分布的标准密度函数|
    29  
    30  #### 类型转换
    31  
    32  ```shell
    33  go get github.com/Anderson-Lu/gobox/convert
    34  ```
    35  
    36  |所属包|方法|功能|
    37  |-----|-----|-----|
    38  |`convert`|`ConvertBs2Interface(bs []byte) (map[string]interface{}, error)`|将字节数组转化为对象|
    39  
    40  #### 定时任务
    41  
    42  ```shell
    43  go get github.com/Anderson-Lu/gobox/cron
    44  ```
    45  
    46  |所属包|方法|功能|
    47  |-----|-----|-----|
    48  |`cron`|`AddJob(job func(), errHandler func(error), taskName string, cronTab string)`|添加cron异步定时任务|
    49  
    50  #### 并发任务
    51  
    52  ```shell
    53  go get github.com/Anderson-Lu/gobox/concurrent
    54  ```
    55  
    56  |所属包|方法|功能|
    57  |-----|-----|-----|
    58  |`concurrent`|`AddTask(task func(...interface{}), params ...interface{})`|添加并发任务|
    59  
    60  #### 重试任务
    61  
    62  ```shell
    63  go get github.com/Anderson-Lu/gobox/retry
    64  ```
    65  
    66  |所属包|方法|功能|
    67  |-----|-----|-----|
    68  |`retry`|`Retry(retryTimes int, errHandler func(error), job func() error) error`|指定重试运行指定任务|
    69  
    70  #### 数据库操作
    71  
    72  ```shell
    73  go get github.com/Anderson-Lu/gobox/database
    74  ```
    75  
    76  |所属包|方法|功能|
    77  |-----|-----|-----|
    78  |`mongo`|`NewMongoClient(connStr string) (*mgo.Session,error)`|生成mongo连接客户端|
    79  |`mysql`|`NewMysqlClient(host, dbname, user, pwd string) (gorm.DB*, error)`|生成mysql连接客户端|
    80  |`redis`|`NewRedisClient(addr, pwd string) *RedisClient `|生成redis连接客户端|
    81  
    82  #### 中间件操作
    83  
    84  ```shell
    85  go get github.com/Anderson-Lu/gobox/middleware
    86  ```
    87  
    88  |所属包|方法|功能|
    89  |-----|-----|-----|
    90  |`kafka`|`NewKafkaProducer(address []string) (*KafkaProducer, error)`|生成kafka连接客户端|
    91  
    92  #### 日志操作
    93  
    94  ```shell
    95  go get github.com/Anderson-Lu/gobox/log
    96  ```
    97  
    98  |所属包|方法|功能|
    99  |-----|-----|-----|
   100  |`log`|`NewLogger() *logging.Logger`|返回日志操作对象|
   101  
   102  #### 加密操作
   103  
   104  ```shell
   105  go get github.com/Anderson-Lu/gobox/crypto
   106  ```
   107  
   108  |所属包|方法|功能|
   109  |-----|-----|-----|
   110  |`crypto`|`HmacSha256(data string, key string) string`|HMACSHA256加密算法|
   111  |`crypto`|`Sha256(data string) string`|SHA256加密算法|
   112  
   113  #### 详细说明
   114  
   115  ##### 方差和平均数
   116  
   117  注意,对于计算方差和计算平均数,参数需要实现特定的接口:
   118  
   119  ```golang
   120  type Variance interface {
   121  	Len() int
   122  	Get(i int) float64
   123  }
   124  type Avg Variance
   125  ```