package main
import (
"fmt"
"strings"
)
func main() {
reg := [...]string {"a","b","c"}
fmt.Println(strings.Join(reg,","))
}
me donne une erreur de:
prog.go: 10: impossible d'utiliser reg (chaîne de type [3]) comme chaîne de type [] dans l'argument des chaînes.
Existe-t-il un moyen plus direct / meilleur que de boucler et d'ajouter à une variable?
reg := []string {"a","b","c"}
?Réponses:
Le titre de votre question est:
mais en fait, ce
reg
n'est pas une tranche, mais un tableau de longueur trois.[...]string
est juste du sucre syntaxique pour (dans ce cas)[3]string
.Pour obtenir une tranche réelle, vous devez écrire:
(Essayez-le: https://play.golang.org/p/vqU5VtDilJ .)
Incidemment, si jamais vous avez vraiment besoin de joindre un tableau de chaînes en une seule chaîne, vous pouvez obtenir une tranche du tableau en ajoutant
[:]
, comme ceci:(Essayez-le: https://play.golang.org/p/zy8KyC8OTuJ .)
la source
Utilisez une tranche, pas un arrray. Créez-le simplement en utilisant
Une alternative aurait été de convertir votre tableau en une tranche lors de la jonction:
Lisez le blog Go sur les différences entre les tranches et les tableaux .
la source
Cela est toujours d'actualité en 2018.
To String
De nouveau à Slice
la source