rtool

package
v0.0.34 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 6, 2023 License: MIT Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BinSearch added in v0.0.28

func BinSearch[T IntUintString](arr []T, value T) int

BinSearch 二分查找法,查找前,arr必须先按照从小到大排序 找到了,返回对应的下标;没有找到,返回-1

func CompareDifference added in v0.0.21

func CompareDifference[T IntUintString](src []T, tar []T) []T

CompareDifference 切片差集,返回先除去 src 中存在 tar 中也存在的,然后合并剩余的 src 和 tar 返回。

func CompareIntersection added in v0.0.21

func CompareIntersection[T IntUintString](src []T, tar []T) []T

CompareIntersection 切片交集,返回 src 中存在并且 tar 也存在的。

func CompareSubtractive added in v0.0.21

func CompareSubtractive[T IntUintString](src []T, tar []T) []T

CompareSubtractive 切片减集,返回 src 中存在并且 tar 中不存在的。

func CompareUnion added in v0.0.21

func CompareUnion[T IntUintString](src []T, tar []T) []T

CompareUnion 切片并集,返回合并 src 和 tar ,然后去重的结果。

func CutSplitByIndex added in v0.0.9

func CutSplitByIndex[T IntUintStringFloat](src []T, start int, end int) []T

CutSplitByIndex 截取切片,根据指定的开始下标和结束下标 src:切片源 start:开始下标,第一个为0 end:结束位置,注意不包含结束的下标元素

func CutSplitByPage added in v0.0.9

func CutSplitByPage[T IntUintStringFloat](src []T, page int, size int) []T

CutSplitByPage 截取切片,根据指定的页码和大小 src:切片源 page:页码,从0开始为第1页 size:页大小

func CutStringByIndex added in v0.0.9

func CutStringByIndex(src string, start int, end int) string

CutStringByIndex 截取字符串,根据指定的开始下标和结束下标 src:切片源 start:开始下标,第一个为0 end:结束位置,注意不包含结束的下标元素

func CutStringBySubString added in v0.0.21

func CutStringBySubString(src string, start string, end string) string

CutStringBySubString 截取字符串,根据指定的开始子串和结束子串。如果不存在则返回空字符串。 src:源字符串 start:开始子串,如果 start 为空,则返回 end 前面那段。 end:结束子串,如果 end 为空,则返回 start 后面那段。 如果 start 和 end 都为空,则返回原字符串 src 。

func DeleteAllSpace

func DeleteAllSpace(s string) string

DeleteAllSpace 删除掉空格,tab,回车,换行

func DeleteAllSpaceReplace added in v0.0.28

func DeleteAllSpaceReplace(s string) string

DeleteAllSpaceReplace 删除掉空格,tab,回车,换行;采用Replace的方式

func DeleteLengthLimit added in v0.0.23

func DeleteLengthLimit(src []string, minLength int, maxLength int) []string

DeleteLengthLimit 删除掉长度不符合要求的

func DeletePrev0

func DeletePrev0(s string) string

DeletePrev0 删除掉前面的0,或多个0

func DeleteRepeat added in v0.0.17

func DeleteRepeat[T IntUintString](src []T) []T

DeleteRepeat 删除重复项,不改变元素顺序

func DeleteRepeatAndEmpty added in v0.0.23

func DeleteRepeatAndEmpty(src []string) []string

DeleteRepeatAndEmpty 删除重复项和空字符串项,不改变元素顺序

func DeleteRepeatAndShuffle added in v0.0.21

func DeleteRepeatAndShuffle[T IntUintString](src []T) []T

DeleteRepeatAndShuffle 删除重复项,然后使用洗牌算法打乱顺序

func DeleteRepeatAndZero added in v0.0.23

func DeleteRepeatAndZero(src []int) []int

DeleteRepeatAndZero 删除重复项和0值项,不改变元素顺序

func DeleteRepeatVMap added in v0.0.21

func DeleteRepeatVMap[T IntUintString](src []T) []T

DeleteRepeatVMap 删除重复项,map随机元素的顺序

func FuncName added in v0.0.19

func FuncName() string

FuncName 返回调用者的函数名字,如果该函数为匿名函数或者go协程则返回空字符串

func FuncNameByLevel added in v0.0.19

func FuncNameByLevel(level uint) string

FuncNameByLevel 返回调用者的函数名字,如果该函数为匿名函数或者go协程则返回空字符串 level 层级,0为当前级(相当于调用 FuncName ),1为上级,2为上上级

func HtmlEscapeSequence added in v0.0.24

func HtmlEscapeSequence(content string) string

HtmlEscapeSequence 进行HTML转义字符串替换

func HtmlEscapeSequence2 added in v0.0.24

func HtmlEscapeSequence2(content string) string

HtmlEscapeSequence2 进行HTML转义字符串替换

func ParseRangeInt added in v0.0.23

func ParseRangeInt(str string) int

ParseRangeInt 解析数字范围 str:str可以是固定的数字也可以是范围,比如 1000 或 1000-2000 解析失败的话,返回0; 如果是范围性的,就返回这个范围内的随机数

func RetryFunc

func RetryFunc(maxBout int, sleepTime time.Duration, ptLog bool, fx func() (bool, error)) (err error)

RetryFunc 如果函数运行失败则重试,如果函数运行成功则结束 maxBout:最大重试次数 sleepTime:重试间隔时间 ptLog:是否打印错误日志 fx:要执行的函数,函数返回值1:是否继续重试至最大次数;函数返回值2:错误信息 返回值:错误信息

func RetryFuncErr

func RetryFuncErr(maxBout int, sleepTime time.Duration, ptLog bool, fx func() error) (err error)

RetryFuncErr 如果函数运行失败则重试,如果函数运行成功则结束 maxBout:最大重试次数 sleepTime:重试间隔时间 ptLog:是否打印错误日志 fx:要执行的函数,函数返回值1:是否继续重试至最大次数;函数返回值2:错误信息 返回值:错误信息

func SplitPage added in v0.0.19

func SplitPage[T IntUintStringFloat](src []T, pageSize int) [][]T

SplitPage 切片分页,将一个切片,按页大小进行分页 返回pageSize的分页列表,最后一页不足pageSize作最后一页。

func SplitPageFill added in v0.0.19

func SplitPageFill[T IntUintStringFloat](src []T, pageSize int, defValue T) [][]T

SplitPageFill 切片分页,将一个切片,按页大小进行分页 返回满pageSize的分页列表,如果最后一页不足pageSize将自动填充默认值defValue的元素。

func SplitPageTrunc added in v0.0.19

func SplitPageTrunc[T IntUintStringFloat](src []T, pageSize int) ([][]T, []T)

SplitPageTrunc 切片分页,将一个切片,按页大小进行分页 返回满pageSize的分页列表和多余部分(不足pageSize)的切片。

Types

type IntUintString added in v0.0.17

type IntUintString interface {
	~int8 | ~int16 | ~int32 | ~int64 |
		~uint8 | ~uint16 | ~uint32 | ~uint64 |
		~string
}

type IntUintStringFloat added in v0.0.17

type IntUintStringFloat interface {
	~int8 | ~int16 | ~int32 | ~int64 |
		~uint8 | ~uint16 | ~uint32 | ~uint64 |
		~string |
		~float32 | ~float64
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL