rtool

package
v0.0.52 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2023 License: MIT Imports: 14 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 切片差集,返回:1先取 src 和 tar 的交集L,2合并 src 和 tar ,3合并结果去重后删除交集L。

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 IntUintBoolByteStringFloat](src []T, start int, end int) []T

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

func CutSplitByPage added in v0.0.9

func CutSplitByPage[T IntUintBoolByteStringFloat](src []T, page uint, size uint) []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 FileFilterByType added in v0.0.48

func FileFilterByType(ext string) func(filename string) bool

FileFilterByType 返回一个根据文件扩展名进行筛选的闭包函数 ext:文件扩展名,比如 .txt .mp4

func FileFilterByTypes added in v0.0.48

func FileFilterByTypes(ext []string) func(filename string) bool

FileFilterByTypes 返回一个根据文件扩展名进行筛选的闭包函数 ext:文件扩展名列表,比如 .txt .mp4

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 ReadFileAllRow added in v0.0.49

func ReadFileAllRow(filepath string) ([]string, error)

ReadFileAllRow 读取文件的所有行内容 filepath 要读取的文件地址

func ReadFileAllRowByLength added in v0.0.49

func ReadFileAllRowByLength(filepath string, minLength int, maxLength int) ([]string, error)

ReadFileAllRowByLength 读取文件的所有行内容 filepath 要读取的文件地址 minLength 行内容最小长度 maxLength 行内容最大长度

func ReadFileAllRowByMaxLength added in v0.0.49

func ReadFileAllRowByMaxLength(filepath string, maxLength int) ([]string, error)

ReadFileAllRowByMaxLength 读取文件的所有行内容 filepath 要读取的文件地址 maxLength 行内容最大长度

func ReadFileAllRowByMinLength added in v0.0.49

func ReadFileAllRowByMinLength(filepath string, minLength int) ([]string, error)

ReadFileAllRowByMinLength 读取文件的所有行内容 filepath 要读取的文件地址 minLength 行内容最小长度

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 SaveAs added in v0.0.47

func SaveAs(srcFilepath string, newFilepath string, isDeleteSrc bool) error

SaveAs 文件另存为 srcFilepath 源文件地址 newFilepath 另存为的新文件地址 isDeleteSrc 是否删除掉源文件

func SplitPage added in v0.0.19

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

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

func SplitPageFill added in v0.0.19

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

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

func SplitPageTrunc added in v0.0.19

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

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

func Unzip added in v0.0.52

func Unzip(zipFilepath string, toDir string) error

Unzip 解压zip文件

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 IntUintBoolByteStringFloat added in v0.0.49

type IntUintBoolByteStringFloat interface {
	~int8 | ~int16 | ~int32 | ~int64 | ~int |
		~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uint |
		~string |
		~bool |
		~float32 | ~float64 | ~complex64 | ~complex128 |
		~uintptr |
		any | interface{}
}

type IntUintString added in v0.0.17

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

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