rtool

package module
v0.0.0-...-0c2cbba Latest Latest
Warning

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

Go to latest
Published: Nov 3, 2023 License: MIT Imports: 26 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 Base64Decode

func Base64Decode(content string) (decodeString []byte, err error)

Base64Decode base64解码

func BinSearch

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

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

func BitIndex

func BitIndex(c uint8, index uint) bool

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

func BitIndexStatus

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

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

func ByteToBinaryString

func ByteToBinaryString(all []byte) string

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

func CompareDifference

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

CompareDifference 切片差集,返回:1先取 src 和 tar 的交集L,2合并 src 和 tar ,3合并结果去重后删除交集L。

func CompareIntersection

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

CompareIntersection 切片交集,返回:src 和 tar 中,都有的元素。

func CompareSubtractive

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

CompareSubtractive 切片减集,返回:从 src 中去除 tar 后的元素。

func CompareUnion

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

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

func CutSplitByIndex

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

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

func CutSplitByPage

func CutSplitByPage[T IntUintBoolByteStringFloat](src []T, page uint, size uint) []T

CutSplitByPage 截取切片,根据指定的页码和大小 src:切片源 page:页码,如果输入为0,则自动提升为1. size:页大小

func CutStringByIndex

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

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

func CutStringBySubString

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

func DeleteAllSpaceReplace(s string) string

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

func DeleteLengthLimit

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

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

func DeletePrev0

func DeletePrev0(s string) string

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

func DeleteRepeat

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

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

func DeleteRepeatAndEmpty

func DeleteRepeatAndEmpty(src []string) []string

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

func DeleteRepeatAndShuffle

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

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

func DeleteRepeatAndZero

func DeleteRepeatAndZero(src []int) []int

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

func DeleteRepeatVMap

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

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

func FileFilterByType

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

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

func FileFilterByTypes

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

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

func FuncName

func FuncName() string

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

func FuncNameByLevel

func FuncNameByLevel(level uint) string

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

func HtmlEscapeSequence

func HtmlEscapeSequence(content string) string

HtmlEscapeSequence 进行HTML转义字符串替换

func HtmlEscapeSequence2

func HtmlEscapeSequence2(content string) string

HtmlEscapeSequence2 进行HTML转义字符串替换

func Join

func Join[T IntUintBoolByteStringFloat](src []T, substr []T, length int, lengths ...int) []T

Join 拆分再合并 src:需要拆分的模板,比如:[]rune("4e6f9e19f397e8b3e42716aaf8f80589f1ed42c1272f7e7b25e5c5de7d88b2d1") substr:需要往中间添加的子模板,比如:[]rune("-") length:第 1 段的长度 lengths:后续 n 段各自的长度 案例 Join([]rune(s), []rune("-"), 1, 2, 3, 4) 返回:[]rune("4-e6-f9e-19f3")

func JoinString

func JoinString(src string, substr string, length int, lengths ...int) string

JoinString 拆分再合并字符串 src:需要拆分的字符串模板,比如:4e6f9e19f397e8b3e42716aaf8f80589f1ed42c1272f7e7b25e5c5de7d88b2d1 substr:需要往中间添加的子字符串,比如:- length:第 1 段的长度 lengths:后续 n 段各自的长度 案例 JoinString(s, "-", 1, 2, 3, 4) 返回:4-e6-f9e-19f3

func NumberToBase

func NumberToBase(number string, base int, outBase int) (string, error)

NumberToBase 转换进制 number:2~36进制的数字 base:传入的number是多少进制的数字 outBase:输出结果为多少进制的

func ParseRangeInt

func ParseRangeInt(str string) int

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

func RangeDir

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

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

func RangeDirFile

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

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

func RangeDirFileFilter

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

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

func ReadFileAllRow

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

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

func ReadFileAllRowByLength

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

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

func ReadFileAllRowByMaxLength

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

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

func ReadFileAllRowByMinLength

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

ReadFileAllRowByMinLength 读取文件的所有行内容 srcFilepath 要读取的文件地址 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

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

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

func SplitPage

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

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

func SplitPageFill

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

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

func SplitPageTrunc

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

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

func ToTitle

func ToTitle(str string) string

ToTitle 将字符串的首字母转换为大写

func ToUATitle

func ToUATitle(str string) string

ToUATitle 每个单词的首字母转换为大写

func UniqueHex128

func UniqueHex128() string

UniqueHex128 生成尽量唯一字符串,128位的十六进制。

func UniqueHex16

func UniqueHex16() string

UniqueHex16 生成尽量唯一字符串,16位的十六进制。

func UniqueHex32

func UniqueHex32() string

UniqueHex32 生成尽量唯一字符串,32位的十六进制。

func UniqueHex40

func UniqueHex40() string

UniqueHex40 生成尽量唯一字符串,40位的十六进制。

func UniqueHex56

func UniqueHex56() string

UniqueHex56 生成尽量唯一字符串,56位的十六进制。

func UniqueHex64

func UniqueHex64() string

UniqueHex64 生成尽量唯一字符串,64位的十六进制。

func UniqueHex8

func UniqueHex8() string

UniqueHex8 生成尽量唯一字符串,8位的十六进制。

func UniqueHex96

func UniqueHex96() string

UniqueHex96 生成尽量唯一字符串,96位的十六进制。

func Unzip

func Unzip(zipFilepath string, toDir string) error

Unzip 解压zip文件

func ZipSave

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

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

func ZipSaveAs

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

ZipSaveAs 保存为zip文件

func ZipSaveByDir

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

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

func ZipSaveList

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

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

Types

type AccUniqueIdQueue

type AccUniqueIdQueue struct {
	IndexID   int64
	QueueList []string
	// contains filtered or unexported fields
}

func NewUniqueIdQueue

func NewUniqueIdQueue() *AccUniqueIdQueue

func (*AccUniqueIdQueue) AutoUniqueID

func (q *AccUniqueIdQueue) AutoUniqueID() string

func (*AccUniqueIdQueue) LPush

func (q *AccUniqueIdQueue) LPush(uniqueID string)

func (*AccUniqueIdQueue) RPush

func (q *AccUniqueIdQueue) RPush(uniqueID string)

type IntUintBoolByteStringFloat

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

type IntUintString

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

type ZipFileItem

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