[]string
est un tableau de chaînes de caractères
Techniquement, c'est une tranche qui fait référence à un tableau sous-jacent.
et nous utilisons également ...string
en tant que paramètre.
Quelle est la différence ?
En ce qui concerne la structure, rien vraiment. Le type de données résultant des deux syntaxes est le même.
En ...
La syntaxe du paramètre fait un paramètre variadique. Il accepte zéro ou plusieurs string
et les référencer comme une tranche.
En ce qui concerne les appels f
vous pouvez passer une tranche de chaînes de caractères dans le paramètre variadique avec la syntaxe suivante :
func f(args ...string) {
fmt.Println(len(args))
}
args := []string{"a", "b"}
f(args...)
Cette syntaxe est disponible soit pour la tranche construite à l'aide de la syntaxe littérale, soit pour la tranche représentant le paramètre variadique. (puisqu'il n'y a pas vraiment de différence entre eux) .
http://play.golang.org/p/QWmzgIWpF8