我正在尝试将我的地图键映射到一个切片中。我发现这个解决方案似乎效果很好。func main() { newMap := map[string]bool{ "a": true, "b": true, "c": true, } mappedToSlice := reflect.ValueOf(newMap).MapKeys() var convertToSliceString []string _ = convertToSliceString}这reflect.ValueOf(newMap).MapKeys()似乎正在将键映射到切片。但是,问题是它返回一个类型为[]reflect.Value. 同时,我想将它存储在一种类型[]string(或任何其他切片类型)中,就像在convertToSliceString变量上一样。有什么办法吗?我试过使用interface并寻找其他方法,但似乎没有人能够转换它。
1 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
使用 for 循环将值字符串分配给切片:
mappedToSlice := reflect.ValueOf(newMap).MapKeys()
convertToSliceString := make([]string, len(mappedToSlice))
for i, v := range mappedToSlice {
convertToSliceString[i] = v.Interface().(string)
}
- 1 回答
- 0 关注
- 218 浏览
添加回答
举报
0/150
提交
取消