说说最近工作中go语言踩到的坑

switch type的case带多个类型

func Test_switch(t *testing.T) {
	var cca any = uint8(1)

	switch vv := cca.(type) {
	case uint8, uint16:
		fmt.Println(vv == 1, vv)  // false, 1
	}
}

case如果带多个类型,vv最后还是any

github.com/gorilla/websocket的Conn的Read Write都不能并发调用

有个需求,监听多个chan,然后发给当前连接着的websocket连接 并发调用了。第二天自己review的时候感觉别扭,看了下文档是不可以这样做的

正确用法

select {
case m :=<- c1:
	conn.Write(m)
case m :=<- c2:
	conn.Write(m)
}
posted @   xiaotushaoxia  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示