说说最近工作中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)
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)