Pourquoi "any" provoque-t-il l'erreur "nom non déclaré" lors de l'utilisation de Go 1.18 ?
Lorsque vous essayez de remplacer "any" par " interface{}", les utilisateurs de Go 1.18 peuvent rencontrer l'erreur "nom non déclaré : tout (nécessite la version go1.18 ou ultérieure)." Cette erreur est due à une incompatibilité entre la version de Go spécifiée dans votre fichier go.mod et la version de Go que vous utilisez.
Le mot-clé "any" a été introduit dans Go 1.18. Pour l'utiliser, votre fichier go.mod doit spécifier une version Go de 1.18 ou ultérieure. Si votre fichier go.mod déclare une version inférieure à 1.18, telle que 1.17, vous rencontrerez l'erreur.
Solution :
Pour résoudre cette erreur, ajustez votre go.mod Fichier .mod pour refléter la version de Go que vous utilisez (1.18 ou supérieure). Par exemple, si votre fichier go.mod lit :
module example.com/foo go 1.17
Modifiez-le en :
module example.com/foo go 1.18
Cette modification permet à votre code d'utiliser le mot-clé "any" et d'éviter l'erreur. Gardez à l'esprit que le fichier go.mod de chaque module régit la version Go utilisée pour la compilation. Cette approche permet aux auteurs de modules d'adopter progressivement les améliorations linguistiques à leur rythme préféré.
Pour un exemple pratique, visitez le lien de terrain de jeu suivant : https://go.dev/play/p/au6TtTvNsRy. Ici, vous pouvez modifier le fichier go.mod pour démontrer l'erreur et sa résolution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!