我使用的是Go 1.16.4。我正在尝试处理这样的代码:func (pool *myConnPool) GetPooledConnection() (*myConnection, error) { go func() { conn, err := pool.createConn() if err != nil { return } pool.connections <- conn }() select { // <<<< golint warning here case conn := <-pool.connections: return pool.packConn(conn), nil }}我得到了以下Go linter警告:在代码中标记的点。任何人都可以解释如何解决这个问题吗?我对围棋频道还不太熟悉。should use a simple channel send/receive instead of select with a single case (S1000)
1 回答
慕勒3428872
TA贡献1848条经验 获得超6个赞
linter告诉你,你的使用是没有意义的,只有一个。要解决此问题,请替换以下内容:selectcase
select {
case conn := <-pool.connections:
return pool.packConn(conn), nil
}
跟:
conn := <-pool.connections
return pool.packConn(conn), nil
甚至:
return pool.packConn(<-pool.connections), nil
- 1 回答
- 0 关注
- 1083 浏览
添加回答
举报
0/150
提交
取消