Maison >développement back-end >Golang >Comment puis-je utiliser avec succès la compilation conditionnelle avec « // build » dans Go ?
Compilation conditionnelle dans Golang
Vous avez mentionné avoir rencontré un problème avec la compilation conditionnelle dans Go. Voici une explication détaillée de la contrainte "// build" et de l'indicateur "-tags", ainsi qu'une résolution de votre problème.
La contrainte "// build" indique au compilateur quelles balises de build utiliser lors de la compilation le fichier. Dans votre exemple, vous avez utilisé "// build main1" pour main1.go et "// build main2" pour main2.go. Cela signifie que ces fichiers ne seront compilés que lorsque la balise de build correspondante sera spécifiée.
Pour compiler votre code avec la balise de build souhaitée, vous pouvez utiliser le flag "-tags". Par exemple, pour compiler main1.go uniquement, vous pouvez exécuter :
$ go build -tags main1
Cependant, l'erreur que vous rencontrez suggère que vous avez peut-être rencontré un petit détail crucial pour la compilation conditionnelle dans Go : vous doit faire suivre la ligne "// build XXX" d'une ligne vide. Ceci n'est pas explicitement documenté, mais cela est évident dans le code source.
Voici une version modifiée de votre code avec la ligne vide ajoutée :
main1.go
// +build main1 package main import ( "fmt" ) func main() { fmt.Println("This is main 1") }
main2.go
// +build main2 package main import ( "fmt" ) func main() { fmt.Println("This is main 2") }
Maintenant, en cours d'exécution "go build -tags main1" compilera uniquement main1.go, comme prévu. En suivant cette règle, vous pouvez utiliser efficacement la compilation conditionnelle dans Golang pour inclure ou exclure sélectivement des fichiers en fonction des balises de build spécifiées.
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!