i在软件包级别使用指针变量:
var config *configuration
但是,尝试将变量分解为此错误的尝试:json: Unmarshal(nil *main.configuration)
。但是,将其列入指向指针变量的指针是成功的。这样做的原因是什么?
为什么不可能将其列入指针变量?
可能。实际上,这是必需的。不可能向非分子宣传。
json: Unmarshal(nil *main.configuration)
这个错误并不是说您不能向指针宣传,而是说您不能将其删除零指针。指针必须指向有效的(可能为零)变量。
替换
var config *configuration
config := new(configuration)
或
config := &configuration{}
它应该可以正常工作。