Le dilemme
Considérez le Extrait de code Go suivant :
//go:build (386 || amd64 || amd64p32) && gccgo // +build 386 amd64 amd64p32 // +build gccgo package cpu
En tant que balise de build, // build semblait suffire. Pourquoi //go:build a-t-il été explicitement spécifié ? Et pourquoi est-il difficile de trouver de la documentation pour //go:build alors que // build a une documentation complète ?
Go 1.18 : Un nouveau chemin
La nouvelle directive / /go:build est désormais l'approche de compilation conditionnelle préférée, et la chaîne d'outils supprime activement les anciennes directives // build.
Go 1.17 : l'introduction de //go:build
//go:build a été introduit dans Go 1.17 pour remplacer // build. Il offre plusieurs avantages :
Coexistence et transition
Les deux directives coexistent pour une transition en douceur.
Changements de syntaxe et compatibilité
Aller de l'avant
/ /go:build est l'approche recommandée pour la compilation conditionnelle dans Go. Sa syntaxe améliorée, sa compatibilité Go fmt et sa coexistence avec // build assurent une transition transparente vers l'avenir du développement Go.
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!