为什么当 limit = 0 时 Go Limiter 不起作用?

问题描述

我正在使用 Go Limiter,但当 Limit 为 0 时似乎无法正常工作。 它应该拒绝所有事件,但事实并非如此。 (请注意,我没有使用 rate.Every(),在 0 的情况下设置限制 Inf)

代码

package main

import (
    "fmt"
    "golang.org/x/time/rate"
)

func main() {
    rl := rate.NewLimiter(0,1)

    for i := 0; i < 1000; i++ {
        fmt.Println(rl.Allow())
    }

}

结果都是真的。

您可以查看this playground

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)