Maison >développement back-end >Golang >Comment exécuter plusieurs fichiers Go dans le même package à l'aide de « go run » ?

Comment exécuter plusieurs fichiers Go dans le même package à l'aide de « go run » ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-21 22:15:27219parcourir

How Do I Run Multiple Go Files in the Same Package Using `go run`?

Séparation du code en plusieurs fichiers dans le package principal pour "go run"

Dans le but de développer du code réutilisable, il Il est souvent avantageux de séparer les sections du programme principal en fichiers distincts tout en conservant une structure de package cohérente. Cependant, rencontrer une erreur lors de l'exécution de "go run main.go" peut indiquer la nécessité d'ajuster la commande d'exécution.

Exécution avec "go run *.go"

Pour exécuter efficacement plusieurs fichiers dans le package principal, modifiez la commande de « go run main.go » à « go run *.go ». Cette commande demande au compilateur de traiter tous les fichiers Go (avec l'extension ".go") dans le répertoire actuel, en combinant efficacement le code des fichiers individuels.

Exemple de structure de code

Considérez la structure de répertoires suivante et les fichiers :

ls foo

# output:
main.go
bar.go

Fichier bar.go

// file bar.go
package main

import "fmt"

func Bar() {
  fmt.Println("Bar")
}

Fichier main.go

// file main.go
package main

func main() {
  Bar()
}

Initiale Erreur

Tenter d'exécuter "go run main.go" avec la structure de code ci-dessus entraînerait une erreur, signalant que "Bar" n'est pas défini. En effet, "go run main.go" compile et exécute uniquement le fichier "main.go".

Résolution avec "go run *.go"

En utilisant "go run *.go", "main.go" et "bar.go" sont traités, permettant à la fonction principale de "main.go" d'accéder à la fonction "Bar". depuis "bar.go".

Pour les environnements Windows (Mise à jour)

À compter du 26 juillet 2019, pour les versions de Go >=1.11, la commande "va courir". peut être utilisé sur les machines Windows pour obtenir le même résultat que "go run *.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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn