我很好奇为什么这个 DeepEqual 检查是错误的:package mainimport ( "encoding/json" "fmt" "log" "reflect" "strings")type Result struct { Topic string `json:"topic,omitempty"` Id int `json:"id,omitempty"`}// Result represents the returned collection from a topic search.type ResultResponse struct { Result []Result `json:"results"`}func main() { want := ResultResponse{ []Result{{Topic: "Clojure", Id: 1000}}, } input := `{"results": [ {"topic": "Clojure", "id": 1000} ]}` p := ResultResponse{} err := json.NewDecoder(strings.NewReader(input)).Decode(&p) if err != nil { panic(err) } fmt.Println(p, want) if !reflect.DeepEqual(input, want) { log.Printf("returned %+v, want %+v", p, want) }}
3 回答
慕村9548890
TA贡献1884条经验 获得超4个赞
我认为这是一个编辑错误。我猜你想编码的是:
"reflect.DeepEqual(p, want)"
但你实际上写道:
"reflect.DeepEqual(input, want)"
- 3 回答
- 0 关注
- 241 浏览
添加回答
举报
0/150
提交
取消