创建一个可以使用扫描仪扫描写入内容的读卡器



我为这个过于简单的问题道歉,但我正试图了解io.Reader以及如何操作它。

我正在尝试生成一系列从事件主题发出的事件(包含字符串(。

我正在调用的事件主题是Emitter,我希望能够任意地向其写入字符串,其中任何扫描都会发现事件。

如果没有听众的话,我预计事件会丢失。

func main() {
// What should newEmitter look like?
data := newEmitter()
go func() {
for {
data.WriteString("foobar")
time.Sleep(2 * time.Second)
}
}()
scanner := bufio.NewScanner(data)
for scanner.Scan() {
fmt.Println(scanner.Text())
}
}

我能得到一些关于发射器结构应该是什么样子的帮助吗?

我试图让它看起来像io.Reader,以便扫描仪拾取事件。

您需要实现io.Reader接口,我想您还需要io.Writer来写入发射器。

最新更新