Documentation
¶
Index ¶
- func Chan[E any](input chan E) iter.Seq[E]
- func Count[E any](seq iter.Seq[E]) int
- func Each[E any](seq iter.Seq[E], yield func(E) bool)
- func Emit[E any](seq iter.Seq[E])
- func Filter[E any](input iter.Seq[E], predicate func(E) bool) iter.Seq[E]
- func First[E any](seq iter.Seq[E]) (E, bool)
- func FlatMap[S ~[]E, E any](input iter.Seq[S]) iter.Seq[E]
- func Join[E any](seq iter.Seq[E], delimiter string) string
- func Limit[E any](input iter.Seq[E], limit int) iter.Seq[E]
- func Map[I, O any](input iter.Seq[I], mapper func(I) O) iter.Seq[O]
- func Max[E cmp.Ordered](seq iter.Seq[E]) (E, bool)
- func Min[E cmp.Ordered](seq iter.Seq[E]) (E, bool)
- func Peek[E any](input iter.Seq[E], action func(E)) iter.Seq[E]
- func Range(size int) iter.Seq[int]
- func Reverse[E any](input iter.Seq[E]) iter.Seq[E]
- func Skip[E any](input iter.Seq[E], num int) iter.Seq[E]
- func Sort[E cmp.Ordered](input iter.Seq[E]) iter.Seq[E]
- func Sum[E cmp.Ordered](seq iter.Seq[E]) E
- func Unique[E comparable](input iter.Seq[E]) iter.Seq[E]
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Chan ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
cha := make(chan int, 3)
cha <- 1
cha <- 2
cha <- 3
close(cha)
for item := range seq.Chan(cha) {
fmt.Println(item)
}
}
Output: 1 2 3
func Count ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Count(seq.Filter(seq.Range(6), func(num int) bool { return num%2 == 0 })))
}
Output: 3
func Each ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
seq.Each(seq.Range(5), func(num int) bool {
fmt.Println(num)
return true
})
}
Output: 0 1 2 3 4
func Emit ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
seq.Emit(seq.Peek(seq.Range(3), func(num int) {
fmt.Println(num)
}))
}
Output: 0 1 2
func Filter ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Max(seq.Filter(seq.Range(6), func(i int) bool { return i%2 == 0 })))
}
Output: 4 true
func First ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.First(seq.Range(100)))
}
Output: 0 true
func FlatMap ¶
Example ¶
package main
import (
"fmt"
"slices"
"gitee.com/xuender/flow/seq"
)
func main() {
for num := range seq.FlatMap[[]int]((slices.Values([][]int{{1, 2}, {3, 4}}))) {
fmt.Println(num)
}
}
Output: 1 2 3 4
func Join ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Join(seq.Range(3), ","))
}
Output: 0,1,2
func Limit ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Join(seq.Limit(seq.Range(10), 3), ","))
}
Output: 0,1,2
func Map ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
int2float64 := seq.Map(seq.Range(6), func(num int) float64 { return float64(num * 2) })
fmt.Println(seq.Max(int2float64))
}
Output: 10 true
func Max ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Max(seq.Filter(seq.Range(6), func(num int) bool { return num%2 == 0 })))
}
Output: 4 true
func Min ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
fmt.Println(seq.Min(seq.Skip[int](seq.Range(6), 3)))
}
Output: 3 true
func Peek ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
seq.Emit(seq.Peek(seq.Range(3), func(num int) {
fmt.Println(num)
}))
}
Output: 0 1 2
func Reverse ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
for num := range seq.Reverse[int]((seq.Range(5))) {
fmt.Println(num)
}
}
Output: 4 3 2 1 0
func Skip ¶
Example ¶
package main
import (
"fmt"
"gitee.com/xuender/flow/seq"
)
func main() {
for num := range seq.Skip[int](seq.Range(10), 8) {
fmt.Println(num)
}
}
Output: 8 9
func Sort ¶
Example ¶
package main
import (
"fmt"
"slices"
"gitee.com/xuender/flow/seq"
)
func main() {
for num := range seq.Sort[int]((slices.Values([]int{3, 1, 2}))) {
fmt.Println(num)
}
}
Output: 1 2 3
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.