From 5b53e8a2ac697bd3503740c8e564c8b485b6c664 Mon Sep 17 00:00:00 2001 From: kercylan98 Date: Fri, 29 Dec 2023 11:49:52 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20super=20=E5=8C=85=E6=96=B0=E5=A2=9E=20T?= =?UTF-8?q?ryWriteChannel=20=E5=87=BD=E6=95=B0=EF=BC=8C=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=B0=9D=E8=AF=95=E6=80=A7=E7=9A=84=E5=AF=B9=20channel=20?= =?UTF-8?q?=E8=BF=9B=E8=A1=8C=E5=86=99=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/super/channel.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 utils/super/channel.go diff --git a/utils/super/channel.go b/utils/super/channel.go new file mode 100644 index 0000000..d91560a --- /dev/null +++ b/utils/super/channel.go @@ -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 + } +}