##### 目前需要在一个变量的切片中追加内容. 追加的方式是根据条件循环追加. 所以不能直接在变量初始化的时候写入.
##### 按下面的方式写是错误的,IDE会提示Cannot use 'enc["actions"]' (type interface{}) as type []Type
##### 本想可以靠反射解决问题的,但是初学golang, 各种尝试也没能追加成功.
##### 现在彻底懵圈了. 希望各位路过的帮忙解决一下. 谢谢大家.
```go
enc := map[string]interface{}{
"actions": []interface{}{}
}
for device := range ab.devices {
if device {
enc["actions"] = append(enc["actions"], "good")
}
}
```
就是加一个断言
```go
if v, ok := enc["actions"]; ok {
if nv, ok := v.([]interface{}); ok {
nv = append(nv, "good")
enc["actions"] = nv
}
} else {
enc["actions"] = []interface{}{"good"}
}
```
#3
更多评论
stackoverflow解决:
```go
var mylist []interface{} = enc["actions"].([]interface{})
mylist = append(mylist, "good")
enc["actions"] = mylist
```
#1