跳到主要内容

2 篇博文 含有标签「Go」

关于Go语言的相关文章

查看所有标签

Go Worker Pool 的两种思路实现

· 阅读需 8 分钟
Jason Rong
前端糕手

写带结果收集的 worker pool,任务分发通常不难。真正容易写岔的是怎么停

停之前先把这两个问题答死,后面实现几乎是顺水推舟:

  1. 已经进队、还没被 worker 拿走的任务,还要不要做?
  2. 已经做完、结果还没发出去的任务,结果能不能丢?

对这两个问题的回答不同,中断机制和 API 形态就会分叉。下面按这两种答案,分别看实现。

Go 的引用语义:指针、传参与那些天生的引用类型

· 阅读需 6 分钟
Jason Rong
前端糕手

从 JavaScript / TypeScript 转过来学 Go 时,最容易困惑的一点是:Go 到底是"值传递"还是"引用传递"?答案是——Go 只有值传递,没有引用传递。但偏偏 slicemapchannel 这些类型用起来又像"引用"。这篇随记就来理清这层看似矛盾的关系:什么是引用语义、如何用指针显式取引用,以及为什么 channelfunccontext 这些类型天生就不需要你再套一层指针。