One-liner pour transformer [] int en chaîne

Fondamentalement, je n'ai []int{1, 2, 3}je veux un one-liner qui transforme ce dans la chaîne de caractères "1, 2, 3" (j'ai besoin de le délimiteur à être personnalisées, parfois .parfois ,etc). Ci-dessous est le meilleur que je pouvais venir. Des recherches en ligne et ne semble pas trouver une meilleure réponse.

Dans la plupart des langues, il y a un support intégré pour cela, par exemple:

python:

> A = [1, 2, 3]
> ", ".join([str(a) for a in A])
'1, 2, 3'

aller:

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, ", "))
}

Il doit sûrement y avoir un utilitaire enterré en ce qui me permet de le faire avec un one-liner?

Je sais qu'il y a strings.Join(A, ", ")mais qui ne fonctionne que si Un est déjà []chaîne.

source d'informationauteur N0thing