J'ai écrit un article dans l'espoir qu'il profitera à ceux qui commencent Go. Quand j'ai vu "..." pour la première fois dans le code source, il n'y a pas beaucoup de choses qui contiennent des informations en japonais même si j'ai cherché sur Google, donc je vais résumer comment utiliser "..." que j'utilise souvent en entreprise. J'ai pensé.
Comprendre comment utiliser "..." et les points
Les gens qui ne comprennent pas "..." de Go
Vous pouvez rendre les paramètres de la fonction de longueur variable. Par exemple, si vous souhaitez qu'une fonction reçoive plusieurs entiers de manière variable, vous pouvez écrire: Le but est d'écrire ... avant le type, comme ** ... int **.
//WriteInt est une fonction qui reçoit et génère une variable int
func WriteInt(nums ...int) {
for _, v := range nums {
fmt.Println(v)
}
}
Lorsqu'il est exécuté, le résultat est:
func main() {
WriteInt(1, 2, 3)
}
//Résultat d'exécution
1
2
3
Vous pouvez passer la fonction d'argument de longueur variable expliquée dans le chapitre précédent à la fois en utilisant "...". Le but est d'écrire ... après la valeur que vous voulez passer, telle que ** s ... **.
func main() {
s := []int{1, 2, 3}
//La valeur que s a...Tous passés à WriteInt en utilisant
WriteInt(s...)
}
func WriteInt(nums ...int) {
for _, v := range nums {
fmt.Println(v)
}
}
C'est également utile lors de l'ajout d'une tranche.
func main() {
s1 := []int{1, 2, 3}
s2 := []int{4, 5, 6}
s3 := append(s1, s2...)
fmt.Println(s3)
}
//Résultat d'exécution
[1 2 3 4 5 6]
Document officiel Passing_arguments_to ... parameters Document officiel en annexe 3 dots in 4 places Développer et transmettre des tranches aux fonctions d'argument variable avec Go ★ Ultimate Guide to Go Variadic Functions
Recommended Posts