在写 Go 程序时报了一个莫名的错误,如标题。




仔细排查后发现问题出在这个块代码

1
2
3
4
5
rows, err := db.Query(query, args...)
defer rows.Close()
if err != nil {
return nil, err
}

经过 Google 后发现,defer 的位置不正确

修改后即可

1
2
3
4
5
rows, err := db.Query(query, args...)
if err != nil {
return nil, err
}
defer rows.Close()
03-16 20:10