doc: documentating every helpers of "it" sub-package

This commit is contained in:
Samuel Berthe
2025-10-06 17:16:33 +02:00
parent 0d8493b7ec
commit 3a054466da
136 changed files with 7177 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
---
name: CountValuesBy
slug: countvaluesby
sourceRef: it/seq.go#L720
category: it
subCategory: slice
signatures:
- "func CountValuesBy[T any, U comparable](collection iter.Seq[T], transform func(item T) U) map[U]int"
variantHelpers: []
similarHelpers:
- core#slice#countvaluesby
position: 204
---
CountValuesBy counts the number of each element returned from transform function.
Is equivalent to chaining Map and CountValues.
```go
type Person struct {
Name string
Age int
}
collection := func(yield func(Person) bool) {
yield(Person{"Alice", 25})
yield(Person{"Bob", 30})
yield(Person{"Charlie", 25})
yield(Person{"Diana", 30})
}
countsByAge := it.CountValuesBy(collection, func(p Person) int {
return p.Age
})
// countsByAge contains {25: 2, 30: 2}
```