xutil

package
v0.3.23 Latest Latest
Warning

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

Go to latest
Published: Jun 27, 2023 License: Unlicense Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultTrimChars = string([]byte{
	'\t',
	'\v',
	'\n',
	'\r',
	'\f',
	' ',
	0x00,
	0x85,
	0xA0,
})

DefaultTrimChars are the characters which are stripped by Trim* functions in default.

View Source
var StringSliceEmptyFilter = func(s string) (string, bool) { return s, s != "" }

StringSliceEmptyFilter StringSliceWalk的filter,过滤空字符串

View Source
var TerminalWidthMin = 80

TerminalWidthMin 最小终端宽度,当获取的宽度小于等于该值,不再做换行优化

View Source
var TerminalWidthRate float32 = 0.9

TerminalWidthRate 输出时占用的宽度比例

Functions

func ContainAtLeastOneEqualFold

func ContainAtLeastOneEqualFold(s1 []string, s2 []string) bool

ContainAtLeastOneEqualFold s1是否至少含有s2中的一个元素

func ContainString

func ContainString(s []string, v string) bool

ContainString 是否含有字符串

func ContainStringEqualFold

func ContainStringEqualFold(s []string, v string) bool

ContainStringEqualFold 是否含有字符串不区分大小写

func DeepCopy added in v0.2.9

func DeepCopy(src interface{}) interface{}

DeepCopy creates a deep copy of whatever is passed to it and returns the copy in an interface{}. The returned value will need to be asserted to the correct type.

func FilePutContents added in v0.3.12

func FilePutContents(filename string, content []byte) error

func IsEmpty added in v0.3.9

func IsEmpty(value interface{}) bool

IsEmpty [影响性能] 返回value是否为空,如value为0,nil,false,"",len(slice/map/chan) == 0会返回true,否则返回false

func KVListApplyFunc

func KVListApplyFunc(f func(k, v string) bool, kv ...string) error

KVListApplyFunc kv利用给定的f进行k,v遍历

func KVListToFlagArgs

func KVListToFlagArgs(kv ...string) ([]string, error)

KVListToFlagArgs 将kv转换为Flag格式字符串列表

func LD added in v0.2.7

func LD(s, t string, ignoreCase bool) int

LD compares two strings and returns the levenshtein distance between them.

func PanicErr

func PanicErr(err error)

PanicErr err不为nil则panic

func PanicErrWithWrap

func PanicErrWithWrap(err error, fmtStr string, args ...interface{})

PanicErrWithWrap err不为nil则panic,error类型使用fmtStr格式化

func ReadAll

func ReadAll(r io.Reader) ([]byte, error)

ReadAll read all bytes for golang 1.14 15

func SnakeCase

func SnakeCase(str string) string

SnakeCase 将指定的str返回SnakeCase类型

func StringMaxLen

func StringMaxLen(ss []string, lenFunc func(s string) int) (max int)

StringMaxLen ss中的字符串最长值

func StringMaxLenByRune added in v0.2.7

func StringMaxLenByRune(ss []string) int

StringMaxLenByRune ss中的字符串最长值,使用rune计算

func StringSliceWalk

func StringSliceWalk(vs []string, f func(string) (string, bool)) []string

StringSliceWalk 遍历vs,将f应用到每一个元素,返回更新后的数据

func StringTrim

func StringTrim(str string, characterMask ...string) string

StringTrim trim字符串

func TableFormat

func TableFormat(lineAll []string, magic string, seperateLine bool, suffixLines ...string) string

TableFormat table格式化lineAll,对齐

func TableFormatLines added in v0.2.6

func TableFormatLines(lineAll []string, magic string) []string

TableFormatLines fotmat return lines

func TermSize added in v0.3.2

func TermSize() (int, int, error)

TermSize get terminal size

func ToCleanStringSlice

func ToCleanStringSlice(in string) []string

ToCleanStringSlice 分割字符串,trim字符

func WrapIfErr

func WrapIfErr(err error, fmtStr string, args ...interface{}) error

WrapIfErr err不为nil则wrap

func WrapIfErrAsFisrt

func WrapIfErrAsFisrt(err error, fmtStr string, args ...interface{}) error

WrapIfErrAsFisrt err不为nil则wrap,将err作为第一个fmt的参数

func YAMLWithComments added in v0.3.5

func YAMLWithComments(data interface{}, atIndent int, yamlTag string, usageTag string, yamlKey func(string) string) (string, error)

Types

type DeepCopyInterface added in v0.2.9

type DeepCopyInterface interface {
	DeepCopy() interface{}
}

DeepCopyInterface for delegating copy process to type

Jump to

Keyboard shortcuts

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