Pointers 戈朗指针

Pointers 戈朗指针,pointers,go,Pointers,Go,我正在使用golang解析json字符串: str:="{...}" var f interface{} json.Unmarshal([]byte(str), f) fmt.Println(f) 而我在控制台里得到了零 当我将代码更改为: json.Unmarshal[]bytestr,&f 它将打印json字符串 发生什么事了 发生了两件事: 您没有阅读文档。 您没有检查json.Unmarshal的返回值以检查错误。 从: Unmarshal解析JSON编码的数据,并将结果存储在v指向

我正在使用golang解析json字符串:

str:="{...}"
var f interface{}
json.Unmarshal([]byte(str), f)

fmt.Println(f)
而我在控制台里得到了零

当我将代码更改为:

json.Unmarshal[]bytestr,&f

它将打印json字符串


发生什么事了

发生了两件事:

您没有阅读文档。 您没有检查json.Unmarshal的返回值以检查错误。 从:

Unmarshal解析JSON编码的数据,并将结果存储在v指向的值中。如果v为nil或不是指针,Unmarshal将返回InvalidUnmarshalError


解组需要一个接口{},因为它可以解组成各种各样的东西,如切片、映射、结构等等。。。正如文档中所述。

对不起,我没有找到。不要忽略错误。我认为研究并不总是有帮助的。有时,若你们不知道正确的问题,你们就找不到答案。我还认为谁拥有106K的声誉,不是来这里投票的。
func Unmarshal(data []byte, v interface{}) error