139 votes

Comment désactiver l'erreur d'importation inutilisée de Golang

Par défaut, Go traite les importations inutilisées comme des erreurs, vous obligeant à supprimer l'importation. Je veux savoir s'il existe un moyen de modifier ce comportement, par exemple en le réduisant à un avertissement.

Je trouve ce problème extrêmement ennuyeux, m'empêchant de profiter de la programmation en Go.

Par exemple, je testais du code, en désactivant un segment/fonction. Certaines fonctions d'une librairie ne sont plus utilisées (par exemple, fmt, errors, peu importe), mais je devrai réactiver la fonction après un petit test. Maintenant, le programme ne se compilera pas à moins que je supprime ces importations, et quelques minutes plus tard je devrai réimporter la librairie.

J'ai fait ce processus encore et encore en développant un programme GAE.

4voto

OldCurmudgeon Points 16615

Si vous utilisez le package fmt pour l'impression générale à la console pendant que vous développez et testez, vous pourriez trouver une meilleure solution dans le package log.

2voto

sbcharr Points 21

Beaucoup de personnes ont déjà commenté avec une justification valable et je reconnais également l'intention de l'auteur original. Cependant, Rob Pike a mentionné dans différents forums que Go est le résultat de la simplification des processus que quelques autres langages de programmation populaires peinent à réaliser. La sémantique du langage Go ainsi que la rapidité de compilation sont des éléments importants, et de nombreuses choses ont été adoptées initialement inefficaces.

Pour faire court, les imports inutilisés sont considérés comme des erreurs en Go car ils alourdissent le programme et ralentissent la compilation. Utiliser un import pour un effet secondaire (_) est une solution de contournement, cependant, je trouve cela parfois déroutant lorsque nous avons un mélange d'imports valides avec des effets secondaires ainsi que des effets secondaires importés purement dans le but de déboguer/tester, surtout lorsque la base de code est grande et qu'il existe une possibilité d'oublier et de ne pas supprimer intentionnellement, ce qui pourrait perturber d'autres ingénieurs/réviseurs plus tard. J'avais l'habitude de commenter les imports non utilisés, cependant, des IDE populaires comme VS code et Goland peuvent facilement utiliser goimports qui gère très bien l'insertion et la suppression des imports. Veuillez consulter le lien pour plus d'informations, https://golang.org/doc/effective_go.html#blank_import

1voto

goen Points 71

Placez ceci en haut de votre document et oubliez les importations inutilisées :

import (
    "bufio"
    "fmt"
    "os"
    "path/filepath"
)

var _, _, _, _ = fmt.Println, bufio.NewReader, os.Open, filepath.IsAbs

0voto

yingshao xo Points 199

Je viens de créer un nouveau compilateur Golang, qui ignorera simplement tous les avertissements de variable inutilisée et d'import inutilisé et de fonction inutilisée par défaut.

https://github.com/yingshaoxo/go/releases/tag/v1.21

Cela fonctionne pour à la fois go run et go build

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X