【发布时间】:2019-08-12 19:46:26
【问题描述】:
我需要使用strings.Join(invoicesBatch, ",") 来加入一个字符串数组。但是我使用reflect.ValueOf(invoiceList).MapKeys() 从地图中得到的数组是reflect.Value 数组。有没有一种简单的方法可以将它们转换为字符串数组。
地图是用字符串键初始化的。
【问题讨论】:
-
简单的意思是要避免编写循环并将每个值转换为字符串?
-
是的。如果我使用循环,那么使用 string.Join 毫无意义。有办法吗?
-
如果你知道
invoiceList的映射类型,你可以使用类型断言将其转换为映射类型,然后循环遍历映射的键 -
map的key是string,value是自定义对象。但是当我调用 MapKeys() 它返回 reflet.Value 数组而不是字符串。我只想将键作为原始数据类型的数组,如 Java。
-
要么我需要数组作为地图中的字符串 [],要么我必须将数组从 reflect.Value 转换为字符串(不想循环它们并每次都创建一个新数组)。其中任何一个都是可能的?
标签: go