gpt4 book ai didi

pointers - 为什么解码到指针变量是不可能的?

转载 作者:数据小太阳 更新时间:2023-10-29 03:47:29 25 4
gpt4 key购买 nike

我在包级别使用指针变量:

var config *configuration

但尝试解码到变量中会导致此错误:json: Unmarshal(nil *main.configuration)。但是,解码为指向指针变量的指针是成功的。这是什么原因?

最佳答案

Why is unmarshaling into a pointer variable not possible?

这是可能的。事实上,这是必需的。解码为非指针是不可能的。

json: Unmarshal(nil *main.configuration)

这个错误并不是说你不能解码到一个指针,而是说你不能解码到一个 nil 指针。指针必须指向有效(可能为零值)变量。

替换

var config *configuration

config := new(configuration)

config := &configuration{}

它应该工作得很好。

关于pointers - 为什么解码到指针变量是不可能的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47996557/

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