【发布时间】:2019-01-28 20:51:45
【问题描述】:
我真的认为这很简单:
string(myInt)
好像没有。
我正在编写一个函数,它接受一个整数切片,并将每个整数附加到一个字符串 - 并在每个整数之间添加一个分隔符。这是我的代码。
func(xis *Int16Slice) ConvertToStringWithSeparator(separator string) string{
var buffer bytes.Buffer
for i, value := range *xis{
buffer.WriteString(string(value))
if i != len(*xis) -1 {
buffer.WriteString(separator)
}
}
return buffer.String()
}
请阅读下面的句子。这不是 How to convert an int value to string in Go? 的重复 - 因为: 我知道 strconv.Itoa 函数之类的东西,但它似乎只适用于“常规”整数。它不支持 int16
【问题讨论】:
-
不是重复的。我问题的最后一句话指出,Itoa 函数(该问题的解决方案,使用标准 int 类型)不支持我这里的数据。
-
内联转换:
strconv.Itoa(int(value)) -
如何将字符串转换为 int 的问题是绝对有效的!我想 ConvertToStringWithSeparator 不是问题的主要主题,而是与另一个任务相关的东西,这使得答案更广泛。例如,在我个人看来,我会考虑更多可以组合以实现 ConvertToStringWithSeparator 目标的小事情来解决您的问题,因此首先转换标量值,然后将转换应用于切片的每个元素,然后应用将切片中的所有元素连接成由给定字符分隔的字符串的连接。
-
strconv.Itoa(int(i))(int 到 ASCII)或 fmt.Sprintf("%d", i) 将 int 设置为字符串。请参阅 stackoverflow.com/a/62737936/12817546 和 stackoverflow.com/a/62740786/12817546。strconv.Atoi(s)(ASCII 到 int)将字符串设置为 int。见stackoverflow.com/a/62740786/12817546。
标签: go