Go:未使用的变量

时间:2015-11-19 11:35:33

标签: go

我正在尝试在下面的代码中执行SQL语句。但是,sqlRes未使用,因此无法编译。我不需要变量,但我需要声明它,因为Exec()返回多个值。

我该如何处理?

stmt, err := db.Prepare("INSERT person SET name=?")
sqlRes, err := stmt.Exec(person.Name)

2 个答案:

答案 0 :(得分:9)

sqlRes替换为blank identifier_)。来自the spec

  

空白标识符提供了一种忽略赋值中右侧值的方法:

_ = x       // evaluate x but ignore it
x, _ = f()  // evaluate f() but ignore second result value

示例:

stmt, err := db.Prepare("INSERT person SET name=?")
_, err = stmt.Exec(person.Name)

答案 1 :(得分:0)

另一种避免 no new variables 错误的方法是将支票包装在 if 块:

if _, err := stmt.Exec(person.Name); err != nil {
   panic(err)
}

https://golang.org/ref/spec#If_statements