gpt4 book ai didi

go - golang 中是否有任何等效的滑动缓冲区陈?

转载 作者:IT王子 更新时间:2023-10-29 01:39:01 28 4
gpt4 key购买 nike

在 clojure 中,我们可以使用滑动缓冲区; golang 中是否有任何等效项?

(require '[clojure.core.async :refer [go-loop <! >!! sliding-buffer chan]])
(def sliding-chan (chan (sliding-buffer 1)))
(go-loop []
(println "Received:" (<! sliding-chan))
(recur))
(dotimes [n 100]
(>!! sliding-chan n))

;;=> Received: 0
;;=> Received: 99

最佳答案

我不这么认为。 Go 有 buffered channels但是当 channel 满时它们会阻塞。

你可能需要自己写一些东西,也许中间有一个 goroutine 来管理缓冲区(可能使用 deque ;)

关于go - golang 中是否有任何等效的滑动缓冲区陈?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39424385/

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