underscore/docs/content/collections/first.md
Ruidy bcb4dd1e9d
docs: add documentation for new collection functions
Add comprehensive documentation for all new functions:
- TakeWhile: take elements while predicate is true
- DropWhile: drop elements while predicate is true
- Scan: running accumulator (prefix scan)
- First/FirstN: get first element(s) safely
- Init: all but last element
- Intersperse: insert separator between elements
- Sliding: sliding window views
- FoldRight: right-to-left fold/reduce
- Tap: side effects without mutation
- Transpose: flip matrix rows/columns
- Unzip: split tuples into separate slices
- ParallelReduce: parallel reduction (experimental)
- Replicate: create n copies of a value

Each doc includes:
- Clear description
- Code examples with output
- Common use cases
- Edge case handling

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-16 08:48:38 +01:00

31 lines
505 B
Markdown

---
title: "First"
date: 2025-01-16T00:00:00-00:00
---
`First` returns the first element of the slice. Returns an error if the slice is empty.
```go
package main
import (
"fmt"
u "github.com/rjNemo/underscore"
)
func main() {
nums := []int{1, 2, 3, 4, 5}
first, err := u.First(nums)
if err != nil {
panic(err)
}
fmt.Println(first) // 1
// Handle empty slice
empty := []int{}
_, err = u.First(empty)
if err != nil {
fmt.Println("Error:", err) // Error: underscore: empty slice
}
}
```