dsm13698679318 2017-01-17 06:13
浏览 55
已采纳

如何从地图获取键作为字符串数组?

I need to use strings.Join(invoicesBatch, ",") to join a string array. But the array I got from the map using reflect.ValueOf(invoiceList).MapKeys() is reflect.Value array. Is there a easy way to convert them into a string array.

The map was initialized with string key.

  • 写回答

3条回答 默认 最新

  • doudao8283 2017-01-17 07:05
    关注

    You will need to use loop but you won't need to create a new slice every time as we already know the length. Example:

    func main() {
        a := map[string]int{
            "A": 1, "B": 2,
        }
        keys := reflect.ValueOf(a).MapKeys()
        strkeys := make([]string, len(keys))
        for i := 0; i < len(keys); i++ {
            strkeys[i] = keys[i].String()
        }
        fmt.Print(strings.Join(strkeys, ","))
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效