Golang“导入但未使用”错误,但需要包装,只是未在代码中调用

时间:2018-07-10 15:04:06

标签: validation go import

我正在使用validator2库来验证Go应用程序中的结构字段。结果看起来像这样:

type data struct {
    Event string `json:"event" validate:"nonzero"`
}

但是,当我尝试使用

导入库时
import ( 
    "gopkg.in/validator.v2"
)

它返回错误imported and not used: "flight-recorder/vendor/gopkg.in/validator.v2" as validator。这是因为未在代码中直接调用该库。我该如何指示去?

1 个答案:

答案 0 :(得分:4)

要仅出于副作用导入库(即运行包init函数),请使用空导入:

import ( 
    _ "gopkg.in/validator.v2"
)

但是,此软件包没有没有软件包init的功能,因此导入它没有意义。您不需要导入软件包仅用于使用struct标记-struct标记是任意的,无需进行编译时检查,也不必在使用前定义它们。它们纯粹是用于反射。