gpt4 book ai didi

go - 无法停止计时器

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:15 29 4
gpt4 key购买 nike

我定义了几个自动收报机,当我试图阻止它们时,我看到了下面

undefined: ticker in ticker.Stop

undefined: Q30sticker in Q30sticker.Stop

代码示例:

if activenode() {
cipaflage = true
break

} else {
if cipaflage == true {
defer ticker.Stop()
defer Q30sticker.Stop()
cipaflage = false
}
continue
}

我已经声明了代码如下

ticker := time.NewTicker(59 * time.Second)
Q30sticker := time.NewTicker(time.Second * 30).C

最佳答案

根据文档 here

Ticker 有一个导出字段 C

type Ticker struct {
C <-chan Time // The channel on which the ticks are delivered.
// contains filtered or unexported fields
}

您可以在 C channel 上接收“滴答”或心跳,但如果您这样做:

Q30sticker := time.NewTicker(time.Second * 30).C

然后 Q30sticker 持有对 channel C 的引用,而不是代码类型。 time.Ticker 结构定义了 Stop 方法。

更新您的变量以保存代码类型(通过删除 .C):

Q30sticker := time.NewTicker(time.Second * 30)

在您从 channel 接收的位置,使用 . 点语法访问 channel 。

<-Q30sticker.C

关于go - 无法停止计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51021549/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com