SkillAgentSearch skills...

Slices

Functions that operate on slices. Similar to functions from package strings or package bytes that have been adapted to work with slices.

Install / Use

/learn @srfrog/Slices
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Slices

PkgGoDev Go Report Card codecov Build Status

Functions that operate on slices. Similar to functions from package strings or package bytes that have been adapted to work with slices.

Features

  • [x] Using a thin layer of idiomatic Go; correctness over performance.
  • [x] Provide most basic slice operations: index, trim, filter, map
  • [x] Some PHP favorites like: pop, push, shift, unshift, shuffle, etc...
  • [x] Non-destructive returns (won't alter original slice), except for explicit tasks.

Quick Start

Install using "go get":

go get github.com/srfrog/slices

Then import from your source:

import "github.com/srfrog/slices"

View example_test.go for examples of basic usage and features.

Documentation

The full code documentation is located at GoDoc:

http://godoc.org/github.com/srfrog/slices

Usage

This is a en example showing basic usage.

package main

import(
   "fmt"

   "github.com/srfrog/slices"
)

func main() {
	str := `Don't communicate by sharing memory - share memory by communicating`

	// Split string by spaces into a slice.
	slc := strings.Split(str, " ")

	// Count the number of "memory" strings in slc.
	memories := slices.Count(slc, "memory")
	fmt.Println("Memories:", memories)

	// Split slice into two parts.
	parts := slices.Split(slc, "-")
	fmt.Println("Split:", parts, len(parts))

	// Compare second parts slice with original slc.
	diff := slices.Diff(slc, parts[1])
	fmt.Println("Diff:", diff)

	// Chunk the slice
	chunks := slices.Chunk(parts[0], 1)
	fmt.Println("Chunk:", chunks)

	// Merge the parts
	merge := slices.Merge(chunks...)
	fmt.Println("Merge:", merge)
}

Related Skills

View on GitHub
GitHub Stars17
CategoryDevelopment
Updated4mo ago
Forks3

Languages

Go

Security Score

87/100

Audited on Nov 2, 2025

No findings