В принципе, у меня есть []int{1, 2, 3}
, я хочу, чтобы однострочный, который преобразовывал это в строку "1, 2, 3" (мне нужно, чтобы разделитель был обычным, иногда .
, иногда ,
и т.д.)., Ниже приводится лучшее, что я мог бы придумать. Поиск в Интернете и, похоже, не нашел лучшего ответа.
В большинстве языков встроенная поддержка для этого, например:
питон:
> A = [1, 2, 3]
> ", ".join([str(a) for a in A])
'1, 2, 3'
идут:
package main
import (
"bytes"
"fmt"
"strconv"
)
// Could not find a one-liner that does this :(.
func arrayToString(A []int, delim string) string {
var buffer bytes.Buffer
for i := 0; i < len(A); i++ {
buffer.WriteString(strconv.Itoa(A[i]))
if i != len(A)-1 {
buffer.WriteString(delim)
}
}
return buffer.String()
}
func main() {
A := []int{1, 2, 3}
fmt.Println(arrayToString(A, ", "))
}
Конечно, должна быть утилита, заглубленная в путь, которая позволяет мне делать это с помощью одного лайнера?
Я знаю, что существует strings.Join(A, ", ")
, но это работает, только если A уже [].