Avatar ·

Comment itérer sur une plage d'entiers de A à B en Go sans créer de slice ?

Bonjour à tous ! Je viens de commencer à apprendre Go après Python et j'ai rencontré un problème inattendu pour moi. En Python, j'ai l'habitude d'écrire `for i in range(10, 20)` pour simplement itérer sur les nombres de 10 à 19. En Go, je m'attendais à voir quelque chose de similaire, mais, d'après ce que j'ai compris, `range` en Go ne fonctionne qu'avec les slices, tableaux, chaînes, maps et channels. J'ai besoin d'effectuer une tâche simple : afficher les nombres de 1 à 100. J'ai essayé d'écrire ceci : ```go for i := range 100 { fmt.Println(i) } ``` Mais cela n'a pas fonctionné — le compilateur se plaint que `range` nécessite un itérateur. Ensuite, j'ai essayé de faire ceci : ```go for i := 0; i < 100; i++ { fmt.Println(i) } ``` Cela fonctionne, mais semble très verbeux comparé à Python. Donc, il n'y a pas de moyen intégré en Go pour simplement itérer sur des nombres ? Dois-je à chaque fois écrire une construction avec initialisation, condition et incrément ? Et si j'ai besoin d'itérer sur les nombres de 5 à 15 ? Ou de 100 à 1 avec un pas de 2 ? N'y a-t-il vraiment pas de solution élégante ?