Comment éviter l’index out of range dans une boucle for en Go ?
#1
Salut tout le monde. Je travaille sur un projet perso en Go, et je me retrouve toujours à écrire la même structure de boucle for pour traiter des tranches, avec ce petit check pour éviter les index out of range. C’est pas compliqué, mais je me demande si je passe à côté d’un idiome plus propre, ou si c’est juste une de ces choses qu’on accepte comme ça. Des fois je me dis que je devrais peut-être juste l’envelopper dans une fonction helper et en finir, mais ça me semble un peu paresseux.
Répondre
#2
Pour être honnête le pattern for en Go peut se réécrire avec range et valeur ce qui évite les erreurs d index et rend le code plus lisible for
Répondre
#3
J avoue que j ai aussi ce doute on peut sentir que tout devient boilerplate et l envie est de mettre tout dans une fonction aide mais c est parfois utile pour les tests et l autonomie du code for
Répondre
#4
Ce genre de wrapper peut paraitre joli mais il peut aussi masquer le vrai cout et on peut se demander s il est utile ou juste une impression de gribouille for
Répondre
#5
Si on reformule le probleme ce que tu cherches c est une facon d appliquer une action a chaque element sans re ecrire le meme schema dans go on peut penser a une fonction Each ou a utiliser range le mot for n est pas sacre
Répondre
#6
Les habitudes de lecture varient et en go le choix entre for et range change la sensation du code certains aiment la clarté d une boucle explicite d autres preferent une abstraction
Répondre
#7
Et si on passe par les generics une fonction Each de type T peut parcourir le slice avec for et appeler f sur chaque element c est propre mais certains diront que cela ajoute une couche et pourquoi pas remettre en cause le rythme du code for
Répondre


[-]
Réponse rapide
Message
Saisissez votre réponse à ce message ici.

Code de confirmation
Veuillez saisir le texte figurant dans l’image ci-dessous. Ce procédé permet de bloquer les robots.
Code de confirmation
(insensible à la casse)

Aller au forum