Struct 导入库上的golang未定义函数调用

Struct 导入库上的golang未定义函数调用,struct,import,go,Struct,Import,Go,我已经进口了 _ "github.com/mitchellh/mapstructure" 进入我的一个项目。但是,我无法利用该库中包含的解码功能将映射接口转换为结构: var result Person err := Decode(input, &result) if err != nil { panic(err) } 此基本调用返回“未定义:解码”错误。除了进口,还有什么别的事要做吗 提前谢谢 如果导入带有u作为第一个参数的包,则不能使用该包的任何函数或类型。\u这意味着您

我已经进口了

_ "github.com/mitchellh/mapstructure"
进入我的一个项目。但是,我无法利用该库中包含的解码功能将映射接口转换为结构:

var result Person
err := Decode(input, &result)
if err != nil {
    panic(err)
}
此基本调用返回“未定义:解码”错误。除了进口,还有什么别的事要做吗


提前谢谢

如果导入带有u作为第一个参数的包,则不能使用该包的任何函数或类型。\u这意味着您仅为其调用init()函数的次要效果而导入包

此外,在本例中,您需要在函数mapstructure.Decode之前使用包名


或者,正如Ainar-G所指出的,您可以在导入包时使用“.”而不是uu“。通过这种方式,您将把名称导入到“默认”名称空间,允许直接使用Decode。但是,不建议这样做,因为您正在使用其他名称污染名称空间,并且可能存在冲突(现在或将来)。

您的意思是编写
。“github.com/mitchellh/mapstructure”
?因为u是一个空白导入。为什么首先要使用下划线
\uuu
导入?你能使用常规导入吗?