go - 在 Go 中使用计时器来触发条件?
问题描述
我正在尝试在我的一个功能中使用计时器,以便我可以在我正在制作的游戏中对射弹造成延迟。我用过 Swift,代码是这样的:
if someBool == false {
//call this function
func .....
someBool == true
Timer.scheduledTimer(withTimeInterval: 0.02, repeats: false, block: { timer in
self.someBool== false
})
}
我想知道是否有一个非常简单的实现来实现这一点,我并不太关心性能,因为这不是一个生产项目。谢谢!
解决方案
在 goroutine 中使用time.After
(https://golang.org/pkg/time/#After ):
func myFunc() {
...
if condition {
go func() {
<-time.After(interval)
// Do things
}()
}
...
推荐阅读
- javascript - 通过 Google Chrome 扩展修改 DOM 输入字段不是永久性的
- python - 有没有办法用 vscode 在绘图查看器中显示交互式绘图?
- maximo - 移动应用程序的下载按钮
- c - 为什么这些类型定义得到相同的结果
- python - 重新输入重定向 URL 时获取 'spotipy.oauth2.SpotifyOauthError: Bad Request'
- java - 带 8 位数字的模幂运算
- django - 如何知道哪个用户添加了另一个用户?
- python - 如何阻止在python中键入按键
- appium - org.openqa.selenium.NoSuchSessionException:会话终止或未启动
- python - 使用不同线程连接不同数据库后是否关闭部分连接会影响其他线程