Posté par wilk .
Évalué à 3.
Dernière modification le 07 février 2024 à 19:43.
Un truc que j'avais testé avant même la release c'est les nouvelles possibilités du router standard qui permettent de mentionner une méthode http ainsi que des paramètres de path à récupérer directement dans la Request.
Ce qui donne
m.HandleFunc("GET /item/{id}",...)
puis
r.PathValue("id")
Ca permet d'éviter la petite dépendance, dont on aime bien faire la chasse en Go, sur gorilla ou chi par ex.
Autre nouveauté que je ne trouve pas révolutionnaire mais qui va vite rentrer dans les mœurs c'est for i := range 10 ou même for range 10 (au lieu de for i:=0; i<10; i++).
Comme d'habitude les nouvelles versions de Go sont par principe d'un ennui précieux je ne prend pas la peine d'en dire plus…
C'est ce que je dis : "c'est innutile" dans la mesure ou une boucle for n'est pas compliqué à écrire et marche très bien.
Mais c'est tellement "plus lisible" dans la mesure ou tu comprends tout de suite de quoi il s'agit (Outre que tu économise des caractères) mais surtout tu sais à la lecture en un clin d'oeil ce que ça fait exactement. Avec un for normal il peut toujours s'y glisser des subtilité :
- Une in/de-crémentation en milieu de boucle pour une optimisation ou par erreur
- Une sortie < ou <=, autre chose fait avec le "i++" genre un "j--" au passage, un départ à 0 ou 1…
un exemple pour illustrer (Avec une coquille impossible avec le range ;) ) :
for (int i=0; i<=10; i++,pti+=4)
for (int j=10; j>0; j--)
for (int k=0; j<10; k++)
Bref un for classique est simple mais peut avoir quelques subtilité si on n'y fait pas attention… et c'est source de bugs.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
# Mux & co
Posté par wilk . Évalué à 3. Dernière modification le 07 février 2024 à 19:43.
Un truc que j'avais testé avant même la release c'est les nouvelles possibilités du router standard qui permettent de mentionner une méthode http ainsi que des paramètres de path à récupérer directement dans la
Request
.Ce qui donne
Ca permet d'éviter la petite dépendance, dont on aime bien faire la chasse en Go, sur gorilla ou chi par ex.
Autre nouveauté que je ne trouve pas révolutionnaire mais qui va vite rentrer dans les mœurs c'est
for i := range 10
ou mêmefor range 10
(au lieu defor i:=0; i<10; i++
).Comme d'habitude les nouvelles versions de Go sont par principe d'un ennui précieux je ne prend pas la peine d'en dire plus…
[^] # Re: Mux & co
Posté par abriotde (site web personnel, Mastodon) . Évalué à 1. Dernière modification le 07 février 2024 à 22:47.
Mais tu l'a bien dis. Le "for in range", c'est inutile mais tellement plus pratique/lisible.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: Mux & co
Posté par wilk . Évalué à 7.
Je ne sais pas si c'est plus lisible, c'est le genre de truc où on n'est jamais tout à fait sûr si c'est < 10 ou <= 10…
[^] # Re: Mux & co
Posté par abriotde (site web personnel, Mastodon) . Évalué à 0.
C'est "<=" forcément.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
[^] # Re: Mux & co
Posté par barmic 🦦 . Évalué à 3.
Dans la partie "For statements" → "For statements with range clause" de la spec.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: Mux & co
Posté par woffer 🐧 . Évalué à 1. Dernière modification le 08 février 2024 à 08:31.
Inutile, je ne sais pas, tu peux avoir besoin de faire N fois une même chose, l'exemple du package benchmark :
devient
[^] # Re: Mux & co
Posté par abriotde (site web personnel, Mastodon) . Évalué à 1. Dernière modification le 10 février 2024 à 21:18.
C'est ce que je dis : "c'est innutile" dans la mesure ou une boucle for n'est pas compliqué à écrire et marche très bien.
Mais c'est tellement "plus lisible" dans la mesure ou tu comprends tout de suite de quoi il s'agit (Outre que tu économise des caractères) mais surtout tu sais à la lecture en un clin d'oeil ce que ça fait exactement. Avec un for normal il peut toujours s'y glisser des subtilité :
- Une in/de-crémentation en milieu de boucle pour une optimisation ou par erreur
- Une sortie < ou <=, autre chose fait avec le "i++" genre un "j--" au passage, un départ à 0 ou 1…
un exemple pour illustrer (Avec une coquille impossible avec le range ;) ) :
for (int i=0; i<=10; i++,pti+=4)
for (int j=10; j>0; j--)
for (int k=0; j<10; k++)
Bref un for classique est simple mais peut avoir quelques subtilité si on n'y fait pas attention… et c'est source de bugs.
Sous licence Creative common. Lisez, copiez, modifiez faites en ce que vous voulez.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.