Documentation
¶
Overview ¶
Package stream 提供泛型流处理能力 支持类型安全的流操作,包括复制、合并和转换
Index ¶
- Variables
- func ForEach[T any](r *Reader[T], fn func(T) error) error
- func GetSourceName(err error) (string, bool)
- func Pipe[T any](cap int) (*Reader[T], *Writer[T])
- type Reader
- func Filter[T any](r *Reader[T], predicate func(T) bool) *Reader[T]
- func FromSlice[T any](slice []T) *Reader[T]
- func Map[T, U any](r *Reader[T], fn func(T) U) *Reader[U]
- func Merge[T any](readers ...*Reader[T]) *Reader[T]
- func MergeNamed[T any](readers map[string]*Reader[T]) *Reader[T]
- func Take[T any](r *Reader[T], n int) *Reader[T]
- func Transform[T, U any](r *Reader[T], fn func(T) (U, error)) *Reader[U]
- func TransformSimple[T, U any](r *Reader[T], fn func(T) (U, error)) *Reader[U]
- type SourceEOF
- type Writer
Constants ¶
This section is empty.
Variables ¶
View Source
var ErrRecvAfterClosed = errors.New("recv after stream closed")
ErrRecvAfterClosed 表示在流关闭后调用了 Recv
View Source
var ErrSkip = errors.New("skip this value")
ErrSkip 用于在 Transform 过程中跳过某个值 示例:
outStream := Transform(inStream, func(s string) (string, error) {
if len(s) == 0 {
return "", ErrSkip
}
return s, nil
})
Functions ¶
func GetSourceName ¶
GetSourceName 从 SourceEOF 错误中提取源流名称
Types ¶
type Reader ¶
type Reader[T any] struct { // contains filtered or unexported fields }
Reader 是流的接收端
func MergeNamed ¶
MergeNamed 将多个命名读取器合并为一个 当源流结束时,返回带有流名称的 SourceEOF
func TransformSimple ¶
TransformSimple 创建新的 goroutine 进行转换
func (*Reader[T]) SetAutomaticClose ¶
func (r *Reader[T]) SetAutomaticClose()
SetAutomaticClose 启用 GC 时自动清理
Click to show internal directories.
Click to hide internal directories.