1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00
2022-03-01 11:23:33 +08:00
2022-02-20 11:35:43 +08:00
2022-01-21 14:54:55 +08:00
2022-02-28 10:11:07 +08:00
2022-01-19 19:45:18 +08:00
2022-02-20 10:16:15 +08:00
2022-02-19 21:55:09 +08:00
2022-02-15 11:19:07 +08:00
2022-01-22 21:25:31 +08:00
2022-01-28 11:45:50 +08:00
2021-11-28 21:18:19 +08:00
2022-02-08 14:43:57 +08:00
2022-03-01 10:02:23 +08:00
2022-03-01 10:02:23 +08:00


Go version Release GoDoc Go Report Card test codecov License

Lancet is a comprehensive, efficient, and reusable util function library of go. Inspired by the java apache common package and lodash.js.

English | 简体中文

Feature

  • 👏 Comprehensive, efficient and reusable.
  • 💪 180+ go util functions, support string, slice, datetime, net, crypt...
  • 💅 Only depend on the go standard library.
  • 🌍 Unit test for every exported function.

Installation

go get github.com/duke-git/lancet

Usage

Lancet organizes the code into package structure, and you need to import the corresponding package name when use it. For example, if you use string-related functions,import the strutil package like below:

import "github.com/duke-git/lancet/strutil"

Example

Here takes the string function ReverseStr (reverse order string) as an example, and the strutil package needs to be imported.

package main

import (
    "fmt"
    "github.com/duke-git/lancet/strutil"
)

func main() {
    s := "hello"
    rs := strutil.ReverseStr(s)
    fmt.Println(rs) //olleh
}

API Documentation

Convertor package contains some functions for data convertion.

import "github.com/duke-git/lancet/convertor"

Function list:

Cryptor package is for data encryption and decryption.

import "github.com/duke-git/lancet/cryptor"

Function list:

Datetime package supports date and time format and compare.

import "github.com/duke-git/lancet/datetime"

Function list:

Fileutil package implements some basic functions for file operations.

import "github.com/duke-git/lancet/fileutil"

Function list

Formatter contains some functions for data formatting.

import "github.com/duke-git/lancet/formatter"

Function list:

Function package can control the flow of function execution and support part of functional programming

import "github.com/duke-git/lancet/function"

Function list:

Netutil package contains functions to get net information and send http request.

import "github.com/duke-git/lancet/netutil"

Function list:

Random package implements some basic functions to generate random int and string.

import "github.com/duke-git/lancet/random"

Function list:

Retry package is for executing a function repeatedly until it was successful or canceled by the context.

import "github.com/duke-git/lancet/retry"

Function list:

Slice contains some functions to manipulate slice.

import "github.com/duke-git/lancet/slice"

Function list:

Strutil package contains some functions to manipulate string.

import "github.com/duke-git/lancet/strutil"

Function list:

System package contain some functions about os, runtime, shell command.

import "github.com/duke-git/lancet/system"

Function list:

Validator package contains some functions for data validation.

import "github.com/duke-git/lancet/validator"

Function list:

14. error helpers

  • Contain functions to handle errors
  • Usage: import "github.com/duke-git/lancet/xerror"
package main

import (
    "fmt"
    "io/ioutil"
    "log"
    "github.com/duke-git/lancet/errors"
)

func main() {
	x := Unwrap(strconv.Atoi("42")) // Unwrap if err is nil then it returns a valid value otherwise it panics
}
  • Function list:
Unwrap[T any](val T, err error) //if err is nil then it returns a valid value otherwise it panics
Description
A comprehensive, efficient, and reusable util function library of go.
Readme MIT 11 MiB
Languages
Go 100%