feat: super 包新增 TryWriteChannel 函数,支持尝试性的对 channel 进行写入

This commit is contained in:
kercylan98 2023-12-29 11:49:52 +08:00
parent 5e5fe8acca
commit 5b53e8a2ac
1 changed files with 12 additions and 0 deletions

12
utils/super/channel.go Normal file
View File

@ -0,0 +1,12 @@
package super
// TryWriteChannel 尝试写入 channel如果 channel 无法写入则忽略,返回是否写入成功
// - 无法写入的情况包括channel 已满、channel 已关闭
func TryWriteChannel[T any](ch chan<- T, data T) bool {
select {
case ch <- data:
return true
default:
return false
}
}