0
我有一個chan string
這是緩衝,我不斷填充它隨機字符串,直到一次time.Duration過去或直到它變滿。填充緩衝陳直到獲得滿或持續時間過去
我的問題是我應該使用股票代碼,因爲考慮到它的一次性任務或者是否存在更加方便的方式?
以下是我現在做
package main
import (
"fmt"
"time"
)
func main() {
res := fillChan(time.Duration(1*time.Nanosecond), 100000)
fmt.Println(len(res))
}
func fillChan(maxDuration time.Duration, chanSize int) chan string {
c := make(chan string, chanSize)
ticker := time.NewTicker(maxDuration)
for {
select {
case <-ticker.C:
ticker.Stop()
return c
case c <- "Random message":
default:
return c
}
}
}