string - 一行将golang中的[]int转为[]string

标签 string go slice

我是 Go 的初学者。将一片整数转换为一片字符串似乎很简单,只需几行:

nums := []int{1, 2, 3, 4}
sNums := make([]string, len(nums))
for i, x := range nums {
    sNums[i] = strconv.Itoa(x)
}

但是,我想知道是否有一种使用内置/标准库的快速单行代码来完成此操作的方法,类似于 Python 中的以下内容:

sNums = map(str, nums)

最佳答案

看来您正在寻找一个对 slice 进行操作的 map 函数。这需要泛型,从 Go 1.11 开始,泛型还不受支持。标准库也不为这些类型的操作(map、filter、reduce 等)提供内置函数。

对于这个简单的用例,您已经拥有的已经足够了。将它包装在一个函数中,这将满足您的需要。在 Go 支持泛型之前,您必须在每种类型的 slice 上手写操作。

一些阅读链接:

Generics Proposal

Rob Pike's Filter Library

关于string - 一行将golang中的[]int转为[]string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53698275/

相关文章:

python - 以下代码需要切片来替换列表中的所有项目?

c# - 在文本框中仅显示最后 4 位数字

json - 解码并从 json 数组中获取第 n 项

go - 在 golang 中标记命令行解析

pointers - 为什么在 golang 中不允许对 slice 指针进行索引

sorting - 如何检查切片是否已排序?

c++ - 将字符串与 C++ 中的一组字符进行比较

c++ - 如何访问 STL 字符串类中的成员变量?

c++ - 将字符串转换为 int (C++)

go - Go 中的错误解析时间,微秒数可变