写点什么

2022-10-06:以下 go 语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3

  • 2022 年 10 月 06 日
    北京
  • 本文字数:402 字

    阅读完需:约 1 分钟

2022-10-06:以下go语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3

2022-10-06:以下 go 语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3 4 5 0 0 0]。


package main
import ( "encoding/json" "fmt")
type AutoGenerated struct { Age int `json:"age"` Name string `json:"name"` Child []int `json:"child"`}
func main() { jsonStr1 := `{"age": 14,"name": "potter", "child":[1,2,3]}` a := AutoGenerated{} json.Unmarshal([]byte(jsonStr1), &a) aa := a.Child fmt.Println(aa) jsonStr2 := `{"age": 12,"name": "potter", "child":[3,4,5,7,8,9]}` json.Unmarshal([]byte(jsonStr2), &a) fmt.Println(aa)}
复制代码


答案选 B。以为选 C,但运行结果感人。根据运行结果推断,第一次序列化 a.Child 是[1,2,3],第二次序列化的时候,是先修改 a.Child 的值 3,4,5,然后追加 a.Child 的值,而且是一个一个追加的 7,8,9。



发布于: 刚刚阅读数: 3
用户头像

还未添加个人签名 2021.02.15 加入

还未添加个人简介

评论

发布
暂无评论
2022-10-06:以下go语言代码输出什么?A:[1 2 3] [1 2 3] ;B:[1 2 3] [3 4 5]; C:[1 2 3] [3 4 5 6 7 8 9];D:[1 2 3] [3_golang_福大大架构师每日一题_InfoQ写作社区