为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
白衣非少年 2021-09-13 14:26:17
我已经进口_ "github.com/mitchellh/mapstructure"进入我的一个项目。但是,我无法利用该库中包含的 Decode 函数将映射接口转换为结构:var result Personerr := Decode(input, &result)if err != nil {    panic(err)}此基本调用返回“未定义:解码”错误。除了导入还有什么可以做的吗?
查看完整描述

1 回答

?
跃然一笑

TA贡献1826条经验 获得超6个赞

如果使用 _ 作为第一个参数导入包,则不能使用该包的任何函数或类型。_ 表示您导入包只是为了调用 init() 函数的次要效果。

另外,在这种情况下,您需要在函数之前使用包名,mapstructure.Decode。

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


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 229 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信