J'apprends Go, mais je pense qu'il est un peu ennuyeux de ne pas laisser de variable ou de package inutilisé lors de la compilation.
Cela me ralentit vraiment. Par exemple, je voulais simplement déclarer un nouveau package et planifier de l'utiliser plus tard ou simplement décommenter une commande à tester. J'ai toujours l'erreur et je dois commenter toutes ces utilisations.
Existe-t-il un moyen d'éviter ce type d'enregistrement dans Go?
Réponses:
Cette erreur est là pour vous forcer à écrire un meilleur code et à utiliser tout ce que vous déclarez ou importez. Cela facilite la lecture du code écrit par d'autres personnes (vous êtes toujours sûr que toutes les variables déclarées seront utilisées) et évite un code mort possible.
Mais, si vous voulez vraiment ignorer cette erreur, vous pouvez utiliser l' identifiant vide (
_
):devient
Comme dit par kostix dans les commentaires ci-dessous, vous pouvez retrouver la position officielle de l'équipe Go dans la FAQ :
la source
Vous pouvez utiliser une simple "fonction null" pour cela, par exemple:
Que vous pouvez utiliser comme ceci:
Il existe également un package pour cela , vous n'avez donc pas à définir la
Use
fonction à chaque fois:la source
Selon la FAQ :
Je ne suis pas nécessairement d'accord avec cela pour diverses raisons qui ne valent pas la peine d'être abordées. C'est ce qu'il est et il est peu probable qu'il change dans un avenir proche.
Pour les packages, il existe l'
goimports
outil qui ajoute automatiquement les packages manquants et supprime ceux qui ne sont pas utilisés. Par exemple:Vous devriez pouvoir l'exécuter à partir de n'importe quel éditeur décent à mi-chemin - par exemple pour Vim:
La
goimports
page répertorie certaines commandes pour d'autres éditeurs et vous la définissez généralement pour qu'elle s'exécute automatiquement lorsque vous enregistrez le tampon sur le disque.Notez que
goimports
cela fonctionnera égalementgofmt
.Comme cela a déjà été mentionné, pour les variables, le moyen le plus simple consiste à les affecter (temporairement) à
_
:la source
Un angle non mentionné jusqu'à présent est les ensembles d'outils utilisés pour éditer le code.
L'utilisation de Visual Studio Code avec l'extension de lukehoban appelée
Go
fera de la magie automatique pour vous. L'extension Go s'exécute automatiquementgofmt
,golint
etc., et supprime et ajoute desimport
entrées . Donc, au moins, cette partie est maintenant automatique.J'admettrai que ce n'est pas 100% de la solution à la question, mais cependant assez utile.
la source
Au cas où d'autres auraient du mal à comprendre cela, je pense que cela pourrait aider à l'expliquer en termes très simples. Si vous avez une variable que vous n'utilisez pas, par exemple une fonction pour laquelle vous avez commenté l'invocation (un cas d'utilisation courant):
Vous pouvez affecter une variable inutile / vide à la fonction afin qu'elle ne soit plus inutilisée :
la source