Comment désactiver les erreurs d’importation inutilisées de Golang

Par défaut, vous devez traiter l’importation non utilisée comme une erreur, ce qui vous oblige à supprimer l’importation. Je veux savoir s’il existe des espoirs de changer de comportement. par exemple en le réduisant à l’avertissement.

J’ai trouvé ce problème extrêmement ennuyeux qui m’a empêché de profiter du codage de Go. Par exemple, je testais du code, désactivant un segment / une fonction. Certaines fonctions d’une lib sont plus utilisées (par exemple, fmt, erreurs, etc.) mais je devrai réactiver la fonction après un petit test. Maintenant, le programme ne sera pas compilé à moins que je ne supprime ces importations. Et quelques minutes plus tard, je dois réimporter la lib.

Je faisais ce processus encore et encore lors du développement d’un programme GAE.

L’astuce var _ = fmt.Printf est utile ici.

L’ajout d’un trait de soulignement ( _ ) avant un nom de package ignorera l’erreur d’importation non utilisée.

Voici un exemple d’utilisation possible:

 import ( "log" "database/sql" _ "github.com/go-sql-driver/mysql" ) 

Pour importer un package uniquement pour ses effets secondaires (initialisation), utilisez l’identificateur vide en tant que nom de package explicite.

Voir plus sur https://golang.org/ref/spec#Import_declarations

J’ai le même problème. Je comprends le raisonnement pour lequel ils ont implémenté le langage pour interdire les importations et les variables inutilisées, mais je trouve personnellement que cette fonctionnalité est agaçante lors de l’écriture de mon code. Pour contourner ce problème, j’ai modifié mon compilateur pour autoriser des options pour autoriser les variables inutilisées et les importations dans mon code.

Si vous êtes intéressé, vous pouvez le voir sur https://github.com/dtnewman/modified_golang_comstackr .

Maintenant, je peux simplement lancer du code avec une commande telle que lancer -gcflags ‘-unused_pkgs’ test.go et ne pas lancer ces erreurs “d’importation non utilisées”. Si je laisse de côté ces indicateurs, il revient à la valeur par défaut de ne pas autoriser les importations inutilisées.

Faire cela ne demandait que quelques changements simples. Les puristes ne seront probablement pas satisfaits de ces changements, car il y a de bonnes raisons de ne pas autoriser les importations / variables inutilisées, mais je suis personnellement d’accord avec vous pour dire que ce problème rend beaucoup moins agréable l’utilisation de Go. compilateur.

Utilisez les sports de goim . C’est fondamentalement un fork de gofmt , écrit par Brad Fitzpasortingck et maintenant inclus dans les paquets d’outils go. Vous pouvez configurer votre éditeur pour l’exécuter chaque fois que vous enregistrez un fichier. Vous n’aurez plus jamais à vous soucier de ce problème.

Si vous utilisez le package fmt pour l’impression générale pour la console pendant que vous développez et testez, vous pouvez trouver une meilleure solution dans le package de journal .

Utilisez if false { ... } pour commenter un code. Le code à l’intérieur des accolades doit être syntaxiquement correct, mais peut être un code non-sens.

mettez 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