为了账号安全,请及时绑定邮箱和手机立即绑定

如何将 []reflect.Value() 转换为 []string?

如何将 []reflect.Value() 转换为 []string?

Go
鸿蒙传说 2023-02-21 17:04:11
我正在尝试将我的地图键映射到一个切片中。我发现这个解决方案似乎效果很好。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条经验 获得超6个赞

使用 for 循环将值字符串分配给切片:


mappedToSlice := reflect.ValueOf(newMap).MapKeys()

convertToSliceString := make([]string, len(mappedToSlice))

for i, v := range mappedToSlice {

    convertToSliceString[i] = v.Interface().(string)

}


查看完整回答
反对 回复 2023-02-21
  • 1 回答
  • 0 关注
  • 165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信