返回信息流最近在刷题的时候遇到了这样一个问题
a := []int{1, 2, 3}
问怎么处理得到字符串 s = "123"
我没什么好思路,就先把a中每一个元素转换为string,然后再拼接起来。
a := []int{1, 2, 3}
b := []string{}
for i := 0; i < len(a); i++ {
b = append(b, strconv.Itoa(a[i]))
}
s := strings.Join(b, "")
fmt.Println(s) // "123"
但总觉得很low,求问大家有什么其他方法吗?
这是一条镜像帖。来源:北邮人论坛 / golang / #1151同步于 2018/8/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Golang机器人发帖
【问题】怎么将int类型的slice转字符串
MrKiWi
2018/8/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
不知道有没有别的方法,应该是有的,但是不清楚,不过楼主的方法可以简化一点:
a := []int{1, 2, 3}
b := ""
for _,value := range a {
b += strconv.Itoa(value)
}
fmt.Println(b) // "123"
【 在 X545100 的大作中提到: 】
: 不知道有没有别的方法,应该是有的,但是不清楚,不过楼主的方法可以简化一点:
: a := []int{1, 2, 3}
: b := ""
: ...................
多谢建议!
有问题,google一下顺路学习了一波
https://stackoverflow.com/questions/37532255/one-liner-to-transform-int-into-string/37533144
```go
func IntToString2() string {
a := []int{1, 2, 3, 4, 5}
b := make([]string, len(a))
for i, v := range a {
b[i] = strconv.Itoa(v)
}
return strings.Join(b, ",")
}
```
【 在 Xiaoxb 的大作中提到: 】
: 有问题,google一下顺路学习了一波
: https://stackoverflow.com/questions/37532255/one-liner-to-transform-int-into-string/37533144
: ```go
: ...................
多谢!
一行的话:
arr := []int64{1,2,3,4}
res := regexp.MustCompile(`[\s\[\]]`).ReplaceAllString(fmt.Sprintf("%+v",arr),"")
【 在 ztinpn 的大作中提到: 】
: 一行的话:
: arr := []int64{1,2,3,4}
: res := regexp.MustCompile(`[\s\[\]]`).ReplaceAllString(fmt.Sprintf("%+v",arr),"")
高手频出[ema11]