stringslice

package
v1.3.55 Latest Latest
Warning

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

Go to latest
Published: Apr 7, 2022 License: MIT Imports: 9 Imported by: 24

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AllElemLengthSlices

func AllElemLengthSlices(slices ...*[]string) int

func AllElemLengthSlicesPtr

func AllElemLengthSlicesPtr(slices *[]*[]string) int

func AnyItemsCloneIf added in v0.8.3

func AnyItemsCloneIf(
	isClone bool,
	additionalCap int,
	slice []interface{},
) (newSlice []interface{})

func AnyItemsCloneUsingCap added in v0.8.3

func AnyItemsCloneUsingCap(
	newAdditionalCap int,
	slice []interface{},
) []interface{}

func AnyLinesProcessAsyncUsingProcessor added in v0.9.5

func AnyLinesProcessAsyncUsingProcessor(
	lines interface{},
	lineProcessor func(index int, lineIn interface{}) (lineOut string),
) []string

func AppendAnyItemsWithStrings added in v0.8.3

func AppendAnyItemsWithStrings(
	isClone,
	isSkipOnEmpty bool,
	mainSlice []string,
	appendingItems ...interface{},
) []string

func AppendLineNew added in v0.6.2

func AppendLineNew(slice []string, line string) []string

func AppendStringsWithAnyItems added in v0.8.3

func AppendStringsWithAnyItems(
	isClone,
	isSkipOnEmpty bool,
	mainSlice []interface{},
	appendingItems ...string,
) []interface{}

func AppendStringsWithMainSlice added in v0.8.3

func AppendStringsWithMainSlice(
	isSkipEmpty bool,
	mainSlice []string,
	appendingItems ...string,
) []string

func Clone added in v0.5.2

func Clone(slice []string) (newSlice []string)

Clone on nil or empty makes new &[]string{} else makes a copy of itself

func CloneIf added in v0.8.3

func CloneIf(
	isClone bool,
	additionalCap int,
	slice []string,
) (newSlice []string)

func ClonePtr added in v0.5.2

func ClonePtr(slice *[]string) (slicePtr *[]string)

ClonePtr on nil or empty makes new &[]string{} else makes a copy of itself

func CloneSimpleSliceToPointers added in v0.5.2

func CloneSimpleSliceToPointers(slice []string) (slicePtr *[]string)

CloneSimpleSliceToPointers on nil or empty makes new &[]string{} else makes a copy of itself

func CloneUsingCap added in v0.8.3

func CloneUsingCap(newAdditionalCap int, slice []string) []string

func Empty

func Empty() []string

func EmptyPtr

func EmptyPtr() *[]string

func ExpandByFunc

func ExpandByFunc(
	slice *[]string,
	expandFunc func(line string) *[]string,
) *[]string

ExpandByFunc Don't include nil or empty slice from expand

func ExpandBySplit

func ExpandBySplit(slice *[]string, splitter string) *[]string

ExpandBySplit Take each slice item, split and add to the new slice array and returns it.

func ExpandBySplitsPtr

func ExpandBySplitsPtr(
	slice *[]string,
	splitters ...string,
) *[]string

ExpandBySplitsPtr Take each slice item, split and add to the new slice array and returns it.

func First added in v0.5.1

func First(slice []string) string

func FirstLastDefault added in v0.5.1

func FirstLastDefault(slice []string) (first, last string)

func FirstLastDefaultPtr added in v0.5.1

func FirstLastDefaultPtr(slice *[]string) (first, last string)

func FirstOrDefault added in v0.5.1

func FirstOrDefault(slice []string) string

func FirstOrDefaultPtr added in v0.5.1

func FirstOrDefaultPtr(slice *[]string) string

func FirstOrDefaultWith added in v0.5.1

func FirstOrDefaultWith(slice []string, defaultValue string) (result string, isSuccess bool)

func FirstPtr added in v0.5.1

func FirstPtr(slice *[]string) string

func HasAnyItem added in v0.5.1

func HasAnyItem(slice []string) bool

func HasAnyItemPtr added in v0.5.1

func HasAnyItemPtr(slice *[]string) bool

func InPlaceReverse

func InPlaceReverse(list *[]string) *[]string

func IndexAt added in v0.5.1

func IndexAt(slice []string, index int) string

func IndexesDefault added in v0.5.1

func IndexesDefault(slice []string, indexes ...int) (values []string)

func IsEmpty added in v0.5.1

func IsEmpty(slice []string) bool

func IsEmptyPtr added in v0.5.1

func IsEmptyPtr(slice *[]string) bool

func JoinWith added in v0.9.5

func JoinWith(joiner string, items ...string) string

func Last added in v0.5.1

func Last(slice []string) string

func LastIndexPtr added in v0.5.1

func LastIndexPtr(slice *[]string) int

func LastOrDefault added in v0.5.1

func LastOrDefault(slice []string) string

func LastOrDefaultPtr added in v0.5.1

func LastOrDefaultPtr(slice *[]string) string

func LastPtr added in v0.5.1

func LastPtr(slice *[]string) string

func LastSafeIndexPtr added in v0.5.1

func LastSafeIndexPtr(slice *[]string) int

func LengthOfPointer

func LengthOfPointer(slices *[]string) int

func LinesAsyncProcess added in v0.6.3

func LinesAsyncProcess(
	lines []string,
	lineProcessor func(index int, lineIn string) (lineOut string),
) []string

func LinesProcess added in v0.5.2

func LinesProcess(
	lines []string,
	lineProcessor func(index int, lineIn string) (lineOut string, isTake, isBreak bool),
) []string

LinesProcess split text using constants.NewLineUnix then returns lines processed by lineProcessor

func LinesSimpleProcess added in v0.5.2

func LinesSimpleProcess(
	splitsLines []string,
	lineProcessor func(lineIn string) (lineOut string),
) []string

LinesSimpleProcess split text using constants.NewLineUnix then returns lines processed by lineProcessor

func LinesSimpleProcessNoEmpty added in v0.5.2

func LinesSimpleProcessNoEmpty(
	splitsLines []string,
	lineProcessor func(lineIn string) (lineOut string),
) []string

LinesSimpleProcessNoEmpty split text using constants.NewLineUnix then returns lines processed by lineProcessor and don't take any empty string in the output. Empty string lineOut will be discarded from the final outputs.

func Make

func Make(length, capacity int) []string

func MakeDefault

func MakeDefault(capacity int) []string

func MakeDefaultPtr added in v0.5.3

func MakeDefaultPtr(capacity int) *[]string

func MakeLen added in v0.6.4

func MakeLen(length int) []string

func MakeLenPtr added in v0.6.4

func MakeLenPtr(length int) *[]string

func MakePtr

func MakePtr(length, capacity int) *[]string

func MergeNew

func MergeNew(firstSlice []string, additionalItems ...string) *[]string

func MergeNewPointers

func MergeNewPointers(slices ...*[]string) *[]string

func MergeNewSimple

func MergeNewSimple(simpleSlices ...[]string) []string

func MergeNewSlicesPtrOfSlices

func MergeNewSlicesPtrOfSlices(slices ...*[]string) *[]string

MergeNewSlicesPtrOfSlices Don't include nil or length 0 slices

func MergeNewSlicesPtrOfSlicesPtr

func MergeNewSlicesPtrOfSlicesPtr(slices *[]*[]string) *[]string

MergeNewSlicesPtrOfSlicesPtr Don't include nil or length 0 slices

func NonEmptyIf added in v0.7.1

func NonEmptyIf(
	isNonEmpty bool,
	slice []string,
) []string

func NonEmptyJoin

func NonEmptyJoin(slice []string, joiner string) string

func NonEmptyJoinPtr added in v0.8.3

func NonEmptyJoinPtr(slice *[]string, joiner string) string

func NonEmptySlice

func NonEmptySlice(slice []string) []string

func NonEmptySlicePtr

func NonEmptySlicePtr(slice *[]string) *[]string

func NonEmptyStrings added in v0.8.3

func NonEmptyStrings(slice []string) []string

func NonNullStrings added in v0.7.1

func NonNullStrings(
	slice []string,
) []string

func NonWhitespaceJoin

func NonWhitespaceJoin(slice []string, joiner string) string

func NonWhitespaceJoinPtr added in v0.5.3

func NonWhitespaceJoinPtr(slice *[]string, joiner string) string

func NonWhitespaceSlice added in v0.5.2

func NonWhitespaceSlice(
	slice []string,
) []string

func NonWhitespaceSlicePtr

func NonWhitespaceSlicePtr(
	slice *[]string,
) *[]string

func NonWhitespaceTrimSlice added in v0.5.2

func NonWhitespaceTrimSlice(slice []string) []string

func NonWhitespaceTrimSliceIf added in v0.7.1

func NonWhitespaceTrimSliceIf(
	isNonWhitespaceTrim bool,
	slice []string,
) []string

func NonWhitespaceTrimSlicePtr added in v0.5.2

func NonWhitespaceTrimSlicePtr(slice *[]string) *[]string

func PrependLineNew added in v0.6.2

func PrependLineNew(
	line string,
	slice []string,
) []string

func PrependNew added in v0.4.6

func PrependNew(
	secondSlice []string,
	prependingItems ...string,
) *[]string

func ProcessAsync added in v0.8.3

func ProcessAsync(
	processor func(index int, item interface{}) string,
	items ...interface{},
) []string

func ProcessOptionAsync added in v0.8.3

func ProcessOptionAsync(
	isSkipOnNil bool,
	processor func(index int, item interface{}) string,
	items ...interface{},
) []string

func RegexTrimmedSplitNonEmptyAll added in v0.6.5

func RegexTrimmedSplitNonEmptyAll(
	regexp *regexp.Regexp,
	content string,
) []string

func SafeIndexAt added in v0.5.1

func SafeIndexAt(slice []string, index int) string

func SafeIndexAtUsingLastIndex added in v0.5.2

func SafeIndexAtUsingLastIndex(
	slice []string,
	lastIndex,
	index int,
) string

func SafeIndexAtUsingLastIndexPtr added in v0.5.2

func SafeIndexAtUsingLastIndexPtr(
	slice *[]string,
	lastIndex,
	index int,
) string

func SafeIndexAtWith added in v0.5.1

func SafeIndexAtWith(
	slice []string,
	index int,
	defaultVal string,
) string

func SafeIndexAtWithPtr added in v0.5.1

func SafeIndexAtWithPtr(
	slice *[]string,
	index int,
	defaultVal string,
) string

func SafeIndexRanges added in v0.6.4

func SafeIndexRanges(
	slice []string,
	startIndexIncluding, endIndexIncluding int,
) []string

SafeIndexRanges get safe index range values If index range is out of range or not found then empty string will be added to response

Reference Example : https://play.golang.org/p/GifVBDSqTJ2

func SafeIndexes added in v0.6.4

func SafeIndexes(slice []string, indexes ...int) []string

SafeIndexes get safe indexes slice based on indexes given

Reference : https://play.golang.org/p/uKLpK8go0lh

func SafeIndexesPtr added in v0.6.6

func SafeIndexesPtr(slice *[]string, indexes ...int) (values *[]string)

SafeIndexesPtr Only indexes which are present values will be included.

Warning : Not found indexes will not be included in the values.

func SafeRangeItems added in v0.5.2

func SafeRangeItems(
	slice []string,
	start, end int,
) []string

func SafeRangeItemsPtr added in v0.5.2

func SafeRangeItemsPtr(
	slice *[]string,
	start, end int,
) *[]string

func SlicePtr added in v0.5.2

func SlicePtr(slice []string) (slicePtr *[]string)

SlicePtr on nil or empty makes new &[]string{} else makes a pointer to self and returns

func SortIf added in v0.7.1

func SortIf(
	isSort bool,
	slice []string,
) []string

func SplitContentsByWhitespace added in v0.7.1

func SplitContentsByWhitespace(
	input string,
) []string

func SplitTrimmedNonEmpty added in v0.6.5

func SplitTrimmedNonEmpty(
	content,
	splitter string,
	number int,
) []string

SplitTrimmedNonEmpty

The count determines the number of substrings to return:

n > 0: at most n substrings; the last substring will be the unsplit remainder.
n == 0: the result is nil (zero substrings)
n < 0: all substrings

func SplitTrimmedNonEmptyAll added in v0.6.5

func SplitTrimmedNonEmptyAll(
	content,
	splitter string,
) []string

Types

type FirstLastStatus added in v0.5.1

type FirstLastStatus struct {
	First, Last       string
	IsValid           bool
	HasFirst, HasLast bool
}

func FirstLastDefaultStatus added in v0.5.1

func FirstLastDefaultStatus(slice []string) *FirstLastStatus

func FirstLastDefaultStatusPtr added in v0.5.1

func FirstLastDefaultStatusPtr(slice *[]string) *FirstLastStatus

func InvalidFirstLastStatus added in v0.5.1

func InvalidFirstLastStatus() *FirstLastStatus

func InvalidFirstLastStatusForLast added in v0.5.1

func InvalidFirstLastStatusForLast(first string) *FirstLastStatus

type IndexValuesDetail added in v0.5.1

type IndexValuesDetail struct {
	Values         []string
	MissingIndexes []int
	IsAnyMissing   bool
	IsValid        bool // represent all missing or not found any
}

func InvalidIndexValuesDetail added in v0.5.1

func InvalidIndexValuesDetail() *IndexValuesDetail

func SafeIndexesDefaultWithDetail added in v0.5.1

func SafeIndexesDefaultWithDetail(
	slice []string,
	indexes ...int,
) *IndexValuesDetail

SafeIndexesDefaultWithDetail Only indexes which are present values will be included.

Warning : Not found indexes will not be included in the values.

Source Files

Jump to

Keyboard shortcuts

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