slices

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2024 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrTooLarge is an error when number is too large than length
	ErrTooLarge = errors.New("slices.Array: number is too large than length")
	// ErrTooSmall is an error when number is too small than length
	ErrTooSmall = errors.New("slices.Array: number is too small than length")
	// ErrWrongIndex is an error when index is out of range
	ErrWrongIndex = errors.New("slices.Array: wrong index")
)

Functions

func Append

func Append[T ~[]S, S E](arr T, v S) (T, int)

Append appends the element v to the end of Array[S] s.

func Contains

func Contains[T ~[]S, S E](s, sub T) bool

Contains reports whether substr is within s.

func ContainsArray

func ContainsArray[T ~[]S, S E](s T, e S) bool

ContainsArray reports whether any Unicode code points in chars are within s.

func ContainsRune

func ContainsRune(s []rune, r rune) bool

ContainsRune reports whether the Unicode code point r is within s.

func CopyAt

func CopyAt[T ~[]S, S E](s, t T, i int) T

func Count

func Count[T ~[]S, S E](s, sub T) int

Count counts the number of non-overlapping instances of substr in s. If substr is an empty Array, Count returns 1 + the number of Unicode code points in s.

func CountArray

func CountArray[T ~[]S, S E](ss T, s S) int

CountArray counts the number of non-overlapping instances of c in s.

func Cut

func Cut[T ~[]S, S E](s, sep T) (before, after T, found bool)

Cut slices s around the first instance of sep, returning the text before and after sep. The found result reports whether sep appears in s. If sep does not appear in s, cut returns s, "", false.

func Equal

func Equal[T ~[]S, S E](a, b T) bool

Equal reports whether a and b are the same length and contain the same runes. A nil argument is equivalent to an empty slice.

func EqualFoldRune

func EqualFoldRune(s, t []rune) bool

EqualFoldRune reports whether s and t, interpreted as UTF-8 []runes, are equal under simple Unicode case-folding, which is a more general form of case-insensitivity.

func Fields

func Fields[T ~[]S, S interface{ ~byte | ~rune }](s T) []T

Fields splits the Array s around each instance of one or more consecutive white space characters, as defined by unicode.IsSpace, returning a slice of subArrays of s or an empty slice if s contains only white space.

func FieldsFunc

func FieldsFunc[T ~[]S, S E](s T, f func(S) bool) []T

FieldsFunc splits the Array s at each run of Unicode code points c satisfying f(c) and returns an array of slices of s. If all code points in s satisfy f(c) or the Array is empty, an empty slice is returned.

FieldsFunc makes no guarantees about the order in which it calls f(c) and assumes that f always returns the same value for a given c.

func HasPrefix

func HasPrefix[T ~[]S, S E](s, prefix T) bool

HasPrefix tests whether the Array[S] s begins with prefix.

func HasSuffix

func HasSuffix[T ~[]S, S E](s, suffix T) bool

HasSuffix tests whether the Array[S] s ends with suffix.

func Index

func Index[T ~[]S, S E](s, sep T) int

Index returns the index of the first instance of substr in s, or -1 if substr is not present in s.

func IndexArray

func IndexArray[T ~[]S, S E](s T, r S) int

IndexArray returns the index of the first instance of the runes point r, or -1 if rune is not present in s.

func IndexByteRune

func IndexByteRune(s []rune, c byte) int

IndexByteRune returns the index of the first instance of c in s, or -1 if c is not present in s.

func IndexRune

func IndexRune(s []rune, r rune) int

IndexRune returns the index of the first instance of the runes point r, or -1 if rune is not present in s.

func InsertWith

func InsertWith[T ~[]S, S E](s T, v S, fn func(a, b S) bool) T

InsertWith inserts v into s at the first index where fn(a, b) is true.

func IsSpace

func IsSpace[S interface{ ~byte | ~rune }](r S) bool

func Join

func Join[T ~[]S, S E](s []T, sep T) T

Join concatenates the elements of its first argument to create a single Array[S]. The separator Array[S] sep is placed between elements in the resulting Array[S].

func LastIndex

func LastIndex[T ~[]S, S E](s, sep T) int

LastIndex returns the index of the last instance of substr in s, or -1 if substr is not present in s.

func LastIndexArray

func LastIndexArray[T ~[]S, S E](s T, c S) int

LastIndexArray returns the index of the last instance of c in s, or -1 if c is not present in s.

func OverWithError

func OverWithError[S any](s []S, err error) func(func(int, S) bool)

func Read

func Read[T ~[]S, S E](arr T, offset int, limit int) T

Read returns a slice of the Array[S] s beginning at offset and length limit. If offset or limit is negative, it is treated as if it were zero.

func RemoveWith

func RemoveWith[T ~[]S, S E](s T, fn func(a S) bool) T

RemoveWith removes the first index where fn(a, b) is true.

func Repeat

func Repeat[T ~[]S, S E](b T, count int) T

Repeat returns a new Array[S] consisting of count copies of the Array[S] s.

It panics if count is negative or if the result of (len(s) * count) overflows.

func ToLowerRune

func ToLowerRune(s []rune) []rune

ToLowerRune returns s with all Unicode letters mapped to their lower case.

func ToUpperRune

func ToUpperRune(s []rune) []rune

ToUpperRune returns s with all Unicode letters mapped to their upper case.

Types

type Bytes

type Bytes []byte

func StringToBytes

func StringToBytes(s string) Bytes

func (Bytes) FindString

func (r Bytes) FindString(s string) int

func (Bytes) Index

func (r Bytes) Index(sub []byte) int

func (Bytes) Read

func (r Bytes) Read(offset int, limit int) Bytes

func (Bytes) ReadString

func (r Bytes) ReadString(offset int, limit int) string

func (Bytes) String

func (r Bytes) String() string

func (Bytes) StringArray

func (r Bytes) StringArray() []string

type E

type E = comparable

E is comparable type of slice element

type Runes

type Runes []rune

func StringToRunes

func StringToRunes(s string) Runes

func (Runes) FindString

func (r Runes) FindString(s string) int

func (Runes) Index

func (r Runes) Index(sub []rune) int

func (Runes) Read

func (r Runes) Read(offset int, limit int) Runes

func (Runes) ReadString

func (r Runes) ReadString(offset int, limit int) string

func (Runes) String

func (r Runes) String() string

func (Runes) StringArray

func (r Runes) StringArray() []string

Jump to

Keyboard shortcuts

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