我在包级别使用指针变量:
var config *configuration
但尝试解组变量会导致此错误:json: Unmarshal(nil *main.configuration)
。但是,解组指针变量的指针是成功的。这是什么原因?
答案 0 :(得分:3)
为什么不能编组指针变量?
有可能。事实上,这是必需的。无法解组到非指针。
Name x y |z (new col) A 1 5 |1 B 2 6 |2 C 0 3 |3 D 0 0 |0
这个错误并不是说你不能解组指针,它说你不能解组为nil指针。指针必须指向有效(可能是零值)变量。
替换
json: Unmarshal(nil *main.configuration)
使用
var config *configuration
或
config := new(configuration)
它应该可以正常工作。