查看以下golang代码:
b := []byte(`["a", "b"]`)
var value interface{}
json.Unmarshal(b, &value)
fmt.Println(value) // Print [a b]
fmt.Println(reflect.TypeOf(value)) //Print []interface {}
var targetValue interface{} = []string{"a", "b"}
if reflect.DeepEqual(value.([]interface{}), targetValue) {
t.Error("please be equal")
}
我期待DeepEqual
太多了吗?阅读文档后,以下语句强化了我的假设:它应该起作用:
我在这里缺少什么?
答案 0 :(得分:4)
您将[]interface{}
与[]string
进行比较,if reflect.DeepEqual(value.([]interface{}), targetValue) {
永远不会相等。
targetValue
与[]string
类型的var targetValue interface{} = []string{"a", "c"}
进行比较:
nmap -v -n -sP -iL <IP-list-file.txt>