gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 02:25:38 28 4
gpt4 key购买 nike

我已经导入了

_ "github.com/mitchellh/mapstructure"

进入我的一个项目。但是我无法利用该库中包含的解码函数将 map 接口(interface)转换为结构:

var result Person
err := Decode(input, &result)
if err != nil {
panic(err)
}

此基本调用返回“undefined: Decode”错误。除了导入还有什么要做的吗?

提前致谢!

最佳答案

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

另外,你需要在函数前使用包名,这里是mapstructure.Decode。

或者,正如 Ainar-G 所指出的,您可以使用“.”而不是 _ 导入包时。这样您就可以将名称导入“默认”命名空间,从而可以直接使用 Decode。但是,不建议这样做,因为您正在用其他名称污染命名空间,现在或将来可能会发生冲突。

关于struct - golang 对导入库的未定义函数调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28197443/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com