惊一道关于json和slice的题难倒

昨天在Go语言爱好者周刊:第65期刊首语发了一道题,以下代码输出什么?packagemainimport(encoding/jsonfmt)typeAutoGeneratedstruct{Ageint`json:age`Namestring`json:name`Child[]int`json:child`}funcmain(){jsonStr1:=`{age:14,name:potter,child:[1,2,3]}`a:=AutoGenerated{}json.Unmarshal([]byte(jsonStr1),a)aa:=a.Childfmt.Println(aa)jsonStr2:=`{age:12,name:potter,child:[3,4,5,7,8,9]}`json.Unmarshal([]byte(jsonStr2),a)fmt.Println(aa)}结果80%的人都答错了。结果为什么是[][]呢?这道题涉及到两个知识点:json解析;slice;1、json解析关于json.Unmarshal的文档,不少人可能没认真看。借此机会正好一起看下。


转载请注明:http://www.aierlanlan.com/rzgz/6736.html