我在包级别使用指针变量:
var config *configuration
但是解组变量的尝试导致了这个错误:json: Unmarshal(nil *main.configuration)
。但是,解组指针变量的指针是成功的。这是什么原因?
为什么不能编组指针变量?
有可能的。事实上,这是必需的。无法解组为非指针。
json: Unmarshal(nil *main.configuration)
这个错误并不是说你不能解组指针,它说你不能解组为nil指针。指针必须指向有效(可能是零值)变量。
更换
var config *configuration
同
config := new(configuration)
要么
config := &configuration{}
它应该工作得很好。