go - 如何从 map 中获取键作为字符串数组?

标签 go

我需要使用 strings.Join(invoicesBatch, ",") 来加入一个字符串数组。但是我使用 reflect.ValueOf(invoiceList).MapKeys() 从 map 中得到的数组是 reflect.Value 数组。有没有一种简单的方法可以将它们转换为字符串数组。

map 是用字符串键初始化的。

最佳答案

您可以使用 for 循环和范围来获取这样的键片段,而不是使用反射

package main

import (
"fmt"
"strings"
)

func main() {
  data := map[string]int{
      "A": 1,
      "B": 2,
  }
  keys := make([]string, 0, len(data))
  for key := range data {
    keys = append(keys, key)
  }

  fmt.Print(strings.Join(keys, ","))
}

关于go - 如何从 map 中获取键作为字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41690156/

相关文章:

windows - 获取 Dos (8.3) 文件名

go - 包的类型不能用作 vendor 包的类型

go - 使用 go/ast 包

go - 在 golang 中强制传递依赖版本

go - 将结构从字符串数组更改为深度数组

go - 我在哪里创建 Ticker 重要吗?

go - 找到包裹但找不到内容?

go - 拆分包括 EOF?

http - Go net listener 关闭及常规处理

variables - 是否支持动态变量?