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.