我在一个系统上工作,我必须限制来自特定 IP 的并发连接。建立连接后,将执行一些步骤,然后将其删除,以便可以建立其他连接。下面是我更新特定变量值的代码。
代码链接 - http://tpcg.io/_SQZEEX
package main
import "fmt"
var addresses = make([]string, 0)
func count(rAddr string, slice *[]string) map[string]int {
dict := make(map[string]int)
*slice = append(*slice, rAddr)
for _, a := range *slice {
dict[a]++
}
return dict
}
func listen() int {
var rAddr string
rAddr = "1.1.1.2"
number_of_addresses:=count(rAddr ,&addresses)
var v int
for k, v := range number_of_addresses {
fmt.Println(k, "value is", v)
if (v > 0) {
v--
fmt.Println(k, "decreased value is", v)
}
}
return v
}
func main() {
listen()
listen()
}
再次调用该函数时,“v”变量的值不会刷新,输出如下
1.1.1.2 value is 1
1.1.1.2 decreased value is 0
1.1.1.2 value is 2
1.1.1.2 decreased value is 1
预期输出:
1.1.1.2 value is 1
1.1.1.2 decreased value is 0
1.1.1.2 value is 1
1.1.1.2 decreased value is 0
我该怎么做才能在每次减少时更新该值。我知道该值已刷新但未发送回计数函数。如何实现
慕侠2389804
相关分类