我是 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 上手写操作。
一些阅读链接:
关于string - 一行将golang中的[]int转为[]string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53698275/