【发布时间】:2018-04-23 19:13:06
【问题描述】:
我有一些使用“database/sql”包查询数据库的 Go 代码。这些函数中的大多数返回:result, err 或 rows, err。
因此,您最终会得到许多这样的重复块:
if err != nil {
// Handle Error
}
我已经看到只返回错误的函数的“更简洁”代码:
if err := SomeFunc(); err != nil {
// Handle Error
}
我不能对这些函数执行此操作,因为当我稍后需要在另一个查询函数中访问它时,变量会被困在范围内。
有没有办法清理这个 go 代码?
【问题讨论】:
-
Tangential:如果使用sqlx,则可以使用Get() 和Select() 分别拉取单个条目或一组条目,而无需处理
rows变量。这些函数只返回一个错误,因此可以很好地与if <statement>; <conditional> {样式配合使用。总的来说,sqlx 也是一个非常棒的库。
标签: go