DevToolPal
FR

Formateur Go

Formatez du code source Go avec gofmt, compilé en WebAssembly et exécuté dans votre navigateur.

Traitement local, rien n'est envoyé

Options

Indentation

Entrée

0 caractères · 0 B

Sortie

0 caractères · 0 B

À quoi sert cet outil

Le formateur Go réécrit du code source Go dans le style canonique unique qu’utilise toute la communauté Go. Collez un fichier ou un extrait : il revient avec l’indentation, l’espacement, le regroupement des imports et l’alignement des champs de struct et des commentaires propres à gofmt.

Il exécute le vrai gofmt de la chaîne d’outils Go, compilé en WebAssembly. Rien n’est approximatif : ce que vous voyez ici est exactement ce qu’écrirait go fmt, et le code formaté peut donc être commité sans provoquer de diff en CI.

Mode d’emploi

  1. Collez du code Go ou ouvrez un fichier .go.
  2. Le code formaté apparaît à droite pendant la saisie.
  3. Gardez l’indentation Tabulation pour le code que vous allez commiter. Choisissez 2 espaces ou 4 espaces lorsque le code va dans un document, une diapositive ou un site qui affiche les tabulations trop larges.
  4. Copiez ou téléchargez le résultat.

Si le code ne peut pas être analysé, l’outil affiche la première erreur avec sa ligne et sa colonne, par exemple expected ')', found '{', et vous pouvez aller directement à cette ligne.

Exemple

L’exemple est un petit programme tassé sur le moins de lignes possible : imports séparés par des points-virgules, une struct sur deux lignes et des fonctions sans espaces autour des opérateurs. Après formatage :

  • les imports deviennent un bloc entre parenthèses avec un package par ligne ;
  • les champs de la struct passent chacun sur leur ligne et leurs types sont alignés en colonne ;
  • if u.Age<18{ devient if u.Age < 18 { avec le corps sur sa propre ligne ;
  • les littéraux composites reçoivent des espaces après les virgules et les deux-points.

Ce que gofmt change et ne change pas

gofmt ne change que la mise en forme. Il ne renomme jamais les identifiants, ne réordonne pas les déclarations et ne supprime pas les imports inutilisés ; ces tâches reviennent à des outils comme goimports et go vet. Il conserve aussi vos retours à la ligne lorsqu’ils ont un sens : une longue liste d’arguments que vous avez répartie sur plusieurs lignes le reste.

Les commentaires sont conservés et réindentés avec le code qui les entoure. Les commentaires de fin de ligne sur des lignes consécutives sont alignés en colonne, comme les champs de struct.

Astuces

  • Le formatage est un moyen rapide de trouver une accolade manquante : la position de l’erreur pointe généralement sur la première ligne après la faute.
  • Lancez le formateur avant de partager du code dans une issue ou une revue. Les relecteurs peuvent alors se concentrer sur ce que fait le code plutôt que sur son apparence.
  • Dans votre éditeur, activez « format on save » avec gopls pour que vos fichiers correspondent toujours à cette sortie.

FAQ

› Est-ce le vrai gofmt ?

Oui. Le formateur est le code de gofmt issu de la chaîne d'outils Go, compilé en WebAssembly : la sortie est identique octet pour octet à ce qu'affiche `gofmt` ou `go fmt` sur votre machine.

› Ai-je besoin d'une clause package ?

Non. Un fichier complet est préférable, mais gofmt accepte aussi une liste de déclarations ou quelques instructions, ce qui est pratique pour des extraits copiés depuis un article de blog ou une discussion.

› Pourquoi l'indentation utilise-t-elle des tabulations ?

gofmt indente toujours avec des tabulations et aligne avec des espaces. C'est la convention Go, et les éditeurs affichent les tabulations à la largeur de votre choix. Si vous avez besoin d'espaces pour un document ou une diapositive, choisissez 2 ou 4 espaces : seules les tabulations en début de ligne sont remplacées.

› Mon code est-il envoyé sur un serveur ?

Non. Le module WebAssembly est téléchargé une fois et le formatage s'exécute localement dans votre navigateur.