Go time.Tick 与 time.NewTicker

2023-12-26

我是 Go 新手,最近开始学习。我遇到过股票行情指示器和计时器。在代码中,我们可以通过两种方式创建代码

throttler := time.Tick(time.Millisecond * 50)
<- throttler

throttler := time.NewTicker(time.Millisecond * 500)
<- throttler.C

除了语法之外,它们之间还有什么区别?


来自time.Tick 文档 https://godoc.org/time#Tick:

Tick 是 NewTicker 的便捷包装器,仅提供对滴答通道的访问。虽然 Tick 对于不需要关闭 Ticker 的客户端很有用,但请注意,如果没有办法关闭它,底层 Ticker 就无法被垃圾收集器恢复;它“泄漏”。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go time.Tick 与 time.NewTicker 的相关文章

  • 复杂数据类型作为 Go 中映射的键

    我正在尝试在 Go 中创建一个由大整数作为键的映射 effective Go 明确指出 结构体 数组和切片不能用作映射键 因为这些类型上没有定义相等性 这是有道理的 我当然可以将大整数转换为字符串并使用字符串作为键 但我在这里寻找更通用的解
  • 如何在golang中创建一个充满“000000...”数据的10MB文件?

    我打算在日志或磁盘队列等系统中使用 fdatasync 首先是在 ext4 等文件系统中创建一个带有 000000 的 10MB 文件 但我不知道如何正确地做到这一点 jnml fsc r630 src tmp SO 16797380 ls
  • 如何使信号量超时

    Go 中的信号量是通过通道来实现的 一个例子是这样的 https sites google com site gopatterns concurrency semaphores https sites google com site gop
  • RSA OAEP、Golang 加密、Java 解密 -BadPaddingException:解密错误

    我正在尝试解密使用 RSA OAEP 在 Golang 中加密的字符串 但出现 BadPaddingException 解密错误 很难弄清楚我错过了什么 这是Golang加密方法 func encryptString rootPEM io
  • select 语句是否保证通道选择的顺序?

    继从这个答案 https stackoverflow com a 25795236 274460 如果一个 goroutine 在两个通道上进行选择 是否保证通道的选择顺序与其发送的顺序相同 我对发送者是单线程的情况特别感兴趣 例如 是否保
  • 与通道相比,sync.WaitGroup 的优势是什么?

    我正在开发一个并发 Go 库 我偶然发现了 goroutine 之间两种不同的同步模式 其结果相似 等待组 https play golang org p ZYPLlcp16TZ package main import fmt sync t
  • 解压文件的简单方法

    有没有一种简单的方法可以用 Go 解压文件 现在我的代码是 func Unzip src dest string error r err zip OpenReader src if err nil return err defer r Cl
  • golang无法启动调试,显示未找到框架CoreFoundation

    我使用的是 Macbook pro m1 在数据迁移或更新到 monterey 后 不确定是什么原因导致的 golang 似乎无法调试或 go list 编译 我尝试重新安装 更新 golang 结果是一样的 Go版本 1 17 3 dar
  • golang中通道缓冲容量0和1的区别

    我已将通道缓冲区大小设置为零 例如var intChannelZero make chan int 当从intChannelZero将被阻止 直到intChannelZero有价值 另外 我将通道缓冲区大小设置为 1 例如var intCh
  • 实现具有更广泛方法签名的接口

    在Go中 是否有一种方法可以使用方法来实现接口 其中实现中相应方法的返回类型 比 预期返回类型 更宽 这很难解释 所以这里有一个例子 在 Go Playground 中运行以下示例代码时出现此错误 prog go 36 14 cannot
  • 如何在 Go 中填写 void* C 指针?

    我正在尝试与 Go 中的一些 C 代码交互 使用 cgo 这一直相对简单 直到我遇到这种 相当常见 的情况 需要将指针传递给本身包含指向某些数据的指针的结构 我似乎无法弄清楚如何从 Go 中做到这一点 而不诉诸于将结构的创建放入 C 代码本
  • 有没有办法间歇性地执行重复性任务?

    有没有办法在 Go 中执行重复的后台任务 我在想类似的事情Timer schedule task delay period 在爪哇 我知道我可以用 goroutine 来做到这一点Time sleep 但我想要一些容易停止的东西 这是我得到
  • 关闭长度未知的通道

    当不了解频道时我无法关闭频道 length package main import fmt time func gen ch chan int var i int for time Sleep time Millisecond 10 ch
  • 如何拥有在标准输出上更新的就地字符串

    我想输出到标准输出并让输出 覆盖 以前的输出 例如 如果我输出On 1 10 我想要下一个输出On 2 10覆盖On 1 10 我怎样才能做到这一点 stdout是一个流 io Writer 您无法修改已写入其中的内容 什么can更改的是该
  • 如何通过在切片上查找来从切片复制到数组

    我正在编写一个库来处理二进制格式 我有一个带有数组变量的结构 我想保留它以用于文档目的 我还需要从输入字节片中查找和判断 一些伪代码 type foo struct boo 5 byte coo 3 byte func main input
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • 管理多租户 ArangoDB 连接

    我使用 ArangoDB Go 使用 go driver 并且需要实现多租户 这意味着每个客户都将在单独的数据库中拥有他的数据 我想要弄清楚的是如何使这种多租户发挥作用 我知道为每个请求创建一个新的数据库连接是不可持续的 这意味着我必须维护
  • 使用生成的 Golang DLL 返回字符串或 *C.Char

    我一直在努力追随z505 goDLL https github com z505 goDLL回购并遇到了一个大问题 该方法无法返回字符串 我无法读取结果的输出变量 这是我到目前为止使用的代码 Go 完整代码https play golang
  • 仅导出嵌入结构实现的方法子集

    是否可以仅导出嵌入结构实现的方法的子集 这是一种与减少代码复制和粘贴非常不同的方法吗 还有更惯用的方法吗 type A struct func a A Hello fmt Println Hello func a A World fmt P
  • pq:函数unnest(未知)不是唯一的

    以下代码工作正常 但我想将 array a b c d e 定义为变量 rows err db Query select colname from SELECT date unnest array a b c d e AS colname

随机推荐

  • WCF 中的“by ref”参数是好是坏?

    我最近看到一个 WCF 服务声明了操作合同by ref论据 我不知道为什么做出这个设计决定 操作无效 但此外 根据我的 WCF 知识 我无法判断这是否是一个好的实践 或者如果这不相关 你怎么认为 然而 根据这篇 Microsoft 文章 W
  • JVM退出后守护线程如何存活?

    我正在阅读有关 Java 的文档setDaemon 方法 当我读到 JVM 不等待守护线程完成就退出时 我感到很困惑 然而 由于守护线程本质上是 JavaThread 它大概依赖在 JVM 上运行来实现其功能 如果 JVM 在守护线程完成之
  • 如何在不引入偏差的情况下生成一个范围内的随机 Rust 整数?

    如何在 Rust 中生成随机骰子 我知道我可以使用rand random 但这需要我想生成一个整数类型的值 使用rand random
  • 向oracle中的现有表添加自动增量主键[重复]

    这个问题在这里已经有答案了 我想向具有数据的现有表添加新的自动增量主列 我怎么做 我首先添加了一列 然后尝试添加一个序列 之后我失去了如何插入该列并将其作为主键 假设你的桌子叫t1你的主键叫做id首先 创建序列 create sequenc
  • Authorization_IdentityNotFound 错误 MS Graph API

    我们的应用程序将执行简单的 User ReadBasic All 功能 据我了解 这些功能不需要管理员权限 使用此处记录的流程 https graph microsoft io en us docs authorization app on
  • 如何通过URL中的ID获取单个资源?

    我有一个网址 例如 http example com page page id http example com page page id 我想知道如何获得page id路由中 url 的一部分 我希望我可以设计一些方法 例如 route
  • 无法弄清楚在 django 开发环境中提供静态图像

    我读了文章 http docs djangoproject com en dev howto static files 以及该主题上的其他人 但仍然无法弄清楚如何显示图像 除非将指向 Web 服务上现有文件的链接硬编码到 html 模板中
  • 在 NSTextView 中替换 NSTextStorage 的正确方法?

    我正在制作一些文本查看器应用程序 目前我需要非常频繁和精确的线路处理能力 所以我想子类化NSTextStorage班级 但我找不到任何方法来设置新的文本存储NSTextView 我能找到的唯一方法是 NSLayoutManager repl
  • 在 libc++ 中使用 double 调用 std::from_chars 时出现编译错误

    我有一个小代码如下 int main double d const char str 26 50 std from chars str str strlen str d std cout lt lt d 此代码在 libstdc 中按预期工
  • 在 Gtk 3 中向 ToolButton 添加图标

    有没有办法将图标添加到 Gtk ToolButton Gtk3 使用 PyGi for Python 以添加到 GTK 3 工具栏 下面是我的代码 self addfile Gtk ToolButton self addfile set l
  • rspec 模拟:验证“应该”方法中的期望?

    我正在尝试使用 rspec 的模拟来设置我可以在 应该 方法中验证的期望 但我不知道如何做到这一点 当我在模拟上调用 should receive 方法时 它before all 方法退出后立即验证预期的调用 这是一个小例子 describ
  • App Engine 标准第二代运行时的 Memcache 替代品

    谷歌已经发布了其通用版本App Engine 标准的第二代运行时 https cloud google com blog products serverless announcing cloud run the newest member
  • R- 找到值的唯一排列

    我希望创建包含两个不同值的向量的所有可能排列 其中我控制每个值的比例 例如 如果我有一个长度为 3 的向量 并且我想要包含单个 1 的所有可能组合 则我所需的输出是一个如下所示的列表 list 1 lt list c 1 0 0 c 0 1
  • 插值到特定时间

    假设我有这个代码 import numpy as np import time from datetime import datetime class Measurements def init self time var value se
  • 这个函数是怎么计算的呢?

    我一直在研究 CodeWars katas 并且发现了有人提出的一个非常酷的解决方案 我的问题是我不明白它是如何工作的 我了解其中的一些内容 就像它通常在做什么 但不了解细节 它自己回来了吗 它是如何进行计算的 有人可以向我解释一下这一点
  • Dagger:注入@Named 字符串?

    EDIT2023 06 28 除非您有充分的理由不这样做 否则只需使用 Spring Boot 作为您的平台 并使用它的自动布线以及所有其他免费功能 EDIT2018 02 08 演示如何执行此操作的示例项目位于https github c
  • 不可读的 Pom 文件 - Maven

    我一直在构建一个没有任何问题的项目 但突然遇到了这个错误 我尝试重新制作工作区 但现在每次都会遇到相同的错误 我正在尝试在 eclipse che 中使用 Maven 简单地构建和运行一个项目 Build command gt mvn cl
  • 在 Web API 中保存图像时无法解决“GDI+ 中发生一般错误”的问题

    我已经用谷歌搜索并搜索了这个原因的解决方案 但是 我无法找到这个问题的解决方案 我使用了从谷歌参考文献中获得的相同代码 下面是我的代码 public HttpResponseMessage Save ScreenCaptureDetails
  • 如何让下拉菜单在单击而不是悬停时打开/关闭?

    我对 javascript 和 ajax jquery 非常陌生 并且一直在努力尝试让脚本在单击而不是悬停时打开和关闭下拉菜单 有问题的菜单位于http www gamefriction com Coded http www gamefri
  • Go time.Tick 与 time.NewTicker

    我是 Go 新手 最近开始学习 我遇到过股票行情指示器和计时器 在代码中 我们可以通过两种方式创建代码 throttler time Tick time Millisecond 50 lt throttler throttler time