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/SlicesREADME
Slices
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
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
