Est-il possible d'itérer sur une tranche dans le sens inverse en Aller?
Il serait pratique de pouvoir dire quelque chose comme:
for _, element in reverse range mySlice {
...
}
Vous devez vous connecter pour publier un commentaire.
Il serait pratique de pouvoir dire quelque chose comme:
for _, element in reverse range mySlice {
...
}
Vous devez vous connecter pour publier un commentaire.
Non, il n'est pas commode opérateur à ajouter à la gamme une. Vous aurez à faire une activité normale pour la boucle de comptage:
Vous pouvez également le faire:
De sortie:
Aussi ici: http://play.golang.org/p/l7Z69TV7Vl
Comment au sujet de l'utilisation reporter:
defer
mais je crois que l'utilisation de ce à l'intérieur d'une boucle pour la marche arrière est assez délicat et doit être assez inefficace de la mémoire-sage.defer
en sorte qu'il n'est pas prévu pour. Ne pas l'utiliser car elle peut avoir des effets secondaires désagréables (de l'ordre d'exécution). Utilisez simplement lefor
boucle dans la accepté de répondre. Aller est destiné à minimiser ce genre de intelligent (pas) hacks car ils ont tendance à vous mordre dans le cul plus tard.Avec des variations de l'indice de
On peut utiliser un canal pour inverser une liste dans une fonction sans la dupliquer. Elle rend le code plus agréable à mon sens.
[]interface{}
? Parce que le présentreverse
-fonction prend en charge uniquement les chaînes.func reverse(lst []interface{}) chan inyterface{}
ne prendra pas de []chaîne de caractères en entrée plus. Même si la chaîne peut être utilisé dans l'interface{}, []chaîne de caractères ne peut pas être utilisé dans []interface{}. Malheureusement, la présente fonction d'inversion est le genre de fonction qui doit être réécrit beaucoup.