rtool

package
v0.0.41 Latest Latest
Warning

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

Go to latest
Published: Apr 6, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	BitTrue0 = 0x80 //1000  0000
	BitTrue1 = 0x40 //0100 0000
	BitTrue2 = 0x20 //0010 0000
	BitTrue3 = 0x10 //0001 0000
	BitTrue4 = 0x08 //0000 1000
	BitTrue5 = 0x04 //0000 0100
	BitTrue6 = 0x02 //0000 0010
	BitTrue7 = 0x01 //0000 0001

	BitFalse0 = 0x7F //0111 1111
	BitFalse1 = 0xBF //1011 1111
	BitFalse2 = 0xDF //1101 1111
	BitFalse3 = 0xEF //1110 1111
	BitFalse4 = 0xF7 //1111 0111
	BitFalse5 = 0xFB //1111 1011
	BitFalse6 = 0xFD //1111 1101
	BitFalse7 = 0xFE //1111 1110
)

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 BitIndex added in v0.0.39

func BitIndex(c uint8, index uint) bool

BitIndex 返回 c 的二进制第多少位为1还是0,1返回true,0返回false index 下标,0代表第一个;1代表第二个...。

func BitIndexStatus added in v0.0.39

func BitIndexStatus(all []byte, index uint) bool

BitIndexStatus 判断byte数组的第多少个二进制位是1还是0,1返回true,0返回false。 index 下标,0代表第一个;1代表第二个...。

func ByteToBinaryString added in v0.0.39

func ByteToBinaryString(all []byte) string

ByteToBinaryString 将byte数组,转换为二进制字符串

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 RangeDir added in v0.0.39

func RangeDir(dir string) ([]string, error)

RangeDir 遍历指定文件夹下的所有子目录和文件,返回文件夹和文件地址。

func RangeDirFile added in v0.0.39

func RangeDirFile(dir string) ([]string, error)

RangeDirFile 遍历指定文件夹(含所有子目录)下的所有文件,仅返回文件地址。

func RangeDirFileFilter added in v0.0.39

func RangeDirFileFilter(dir string, filterFunc func(filename string) bool) ([]string, error)

RangeDirFileFilter 遍历指定文件夹(含所有子目录)下的所有文件,仅返回文件地址。

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)的切片。

func ZipSave added in v0.0.40

func ZipSave(content []byte, filepath string, zipFilepath string) error

ZipSave 保存为zip文件 content 文件内容 filepath 文件在zip里面的路径 zipFilepath zip文件保存在本地磁盘的路径

func ZipSaveAs added in v0.0.41

func ZipSaveAs(srcFilepath string, zipFilepath string, isDeleteSrc bool) error

ZipSaveAs 保存为zip文件

func ZipSaveByDir added in v0.0.40

func ZipSaveByDir(dir string, zipFilepath string, skipReadErr bool) error

ZipSaveByDir 将指定文件夹压缩成zip文件 dir 文件夹路径 zipFilepath zip文件保存在本地磁盘的路径 skipReadErr 是否跳过读源文件错误

func ZipSaveList added in v0.0.40

func ZipSaveList(list []ZipFileItem, zipFilepath string) error

ZipSaveList 保存为zip文件 list 文件列表 zipFilepath zip文件保存在本地磁盘的路径

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
}

type ZipFileItem added in v0.0.40

type ZipFileItem struct {
	Content  []byte `json:"'content'"`
	Filepath string `json:"filepath"`
}

Jump to

Keyboard shortcuts

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