strext

package
v0.0.11 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// DefaultInitialisms default initialism for snake case
	DefaultInitialisms = []string{
		"API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP",
		"HTTPS", "ID", "IP", "JSON", "LHS", "QPS", "RAM", "RHS", "RPC", "SLA",
		"SMTP", "SSH", "TLS", "TTL", "UID", "UI", "UUID", "URI", "URL", "UTF8",
		"VM", "XML", "XSRF", "XSS",
	}
)

Functions

func Append

func Append(strs []string, str string) []string

Append appends string to slice with no duplicates. 追加字符串,无重复项

func Bytes2Str

func Bytes2Str(b []byte) string

Bytes2Str Zero-copy convert from byte slice to a string see reflect.SliceHeader and reflect.StringHeader 理论上是 string(byte{"a","b"}) 的20倍速率

func CamelCase

func CamelCase(str string) string

CamelCase to camel case string id_com -> IdCom idcom -> Idcom name_id_com -> NameIdCom name_idcom -> NameIdcom

func Compare

func Compare(s1, s2 []string) bool

Compare compares two 'string' type slices. It returns true if elements and order are both the same. 比较两个字符串切片,要求元素和顺序都一致才返回true

func CompareU

func CompareU(s1, s2 []string) bool

CompareU compares two 'string' type slices. It returns true if elements are the same, and ignores the order. 比较两个字符串切片,要求元素一致,且忽略顺序,一致返回true

func Contains

func Contains(sl []string, str string) bool

Contains returns true if the string exists in given slice 字符串切片是否含有指定的元素,大小写敏感

func ContainsFold

func ContainsFold(sl []string, str string) bool

ContainsFold returns true if the string exists in given slice, ignore case. 字符串切片是否含有指定的元素,忽略大小写

func Delete

func Delete(s []string, e string) []string

Delete 删除string切片中的,第一个出现的指定元素

func DeleteAll

func DeleteAll(s []string, e string) []string

DeleteAll 删除string切片中的 所有出现的指示元素

func LowTitle

func LowTitle(str string) string

LowTitle 首字母小写 see strings.Title

func Recombine

func Recombine(str string, sep byte) string

Recombine 转换驼峰字符串为用sep分隔的字符串 example: sep = '_' HelloWorld -> hello_world Hello_World -> hello_world HiHello_World -> hi_hello_world IDCom -> id_com IDcom -> i_dcom nameIDCom -> name_id_com nameIDcom -> name_i_dcom

func Reverse

func Reverse(s string) string

Reverse a utf8 encoded string.

func SnakeCase

func SnakeCase(str string) string

SnakeCase 转换驼峰字符串为用'_'分隔的字符串,特殊字符由DefaultInitialisms决定取代 example2: sep = '_' initialisms = DefaultInitialisms IDCom -> id_com IDcom -> idcom nameIDCom -> name_id_com nameIDcom -> name_idcom

func Str2Bytes

func Str2Bytes(str string) []byte

Str2Bytes Convert different types to byte slice using types and functions in unsafe and reflect package(see reflect.SliceHeader and reflect.StringHeader). It has higher performance, but notice that it may be not safe when garbage collection happens.Use it when you need to temporary convert a long string to a byte slice and won't keep it for long time. 理论上与 []byte("string") 速度几乎是一致的

func UnRecombine

func UnRecombine(str string, sep byte) string

UnRecombine 转换sep分隔的字符串为驼峰字符串 example: sep = '_' hello_world -> HelloWorld

func Unique

func Unique(a []string) []string

Unique takes an input slice of strings and returns a new slice of strings without duplicate values.

Types

type Recode

type Recode struct {
	// contains filtered or unexported fields
}

Recode 重组转换一些特殊的字符

func NewRecode

func NewRecode(initialisms []string) *Recode

NewRecode 创建一个Recode,以initialisms为自定义的Replacer example: API -> Api ID -> id

func (Recode) Recombine

func (sf Recode) Recombine(str string, sep byte) string

Recombine 转换驼峰字符串为用sep分隔的字符串,特殊字符由initialisms决定取代 example1: sep = '_' HelloWorld -> hello_world Hello_World -> hello_world HiHello_World -> hi_hello_world example2: sep = '_' initialisms = [ID] IDCom -> id_com IDcom -> idcom nameIDCom -> name_id_com nameIDcom -> name_idcom

Jump to

Keyboard shortcuts

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