仅在其他软件包中使用变量时,如何避免“已声明且未使用”?

时间:2018-08-18 14:29:37

标签: go

我看到了这篇文章 How to avoid annoying error "declared and not used"

但是我不知道这是否是处理错误的正确方法, 当我在其他软件包中使用该变量时。

例如,如果仅在其他程序包中使用Connect(),则在此程序包中不使用变量db

func Connect() {
  db, err := sql.Open("mysql", "root:Berlin2018@/jplatform")
  if err != nil {
    panic(err.Error())
  }
}

1 个答案:

答案 0 :(得分:3)

避免声明的和不使用的“烦人”的最佳方法,您不应声明未使用的变量,例如,如果您不需要使用从函数返回的变量,则可以使用_来忽略它。 就像在这里:

func Connect() {
  _, err := sql.Open("mysql", "root:Berlin2018@/jplatform")
  if err != nil {
    panic(err.Error())
  }
}

但是您将需要在代码的其他部分使用数据库实例 因此您需要像这样声明变量:

var DBInstance *sql.db

然后您将可以从包中的任何位置访问db指针

如此完整的示例将是:

var DBInstance *sql.db
func Connect() {
      db, err := sql.Open("mysql", "root:Berlin2018@/jplatform")
      if err != nil {
        panic(err.Error())
      }
    }