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

时间:2020-10-08 07:04:57

标签: go

对于这个过于简单的问题,我深表歉意,但我想将自己的头缠在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())
    }
}

我可以在我的Emitter结构上得到些帮助吗?

我正在尝试使其看起来像io.Reader,以便扫描程序可以接收事件。

1 个答案:

答案 0 :(得分:-1)

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