J'ai un petit programme qui se compose de trois fichiers, tous appartenant au même package (main), mais quand je fais "go build main.go", la construction ne réussit pas. Quand il n'y avait qu'un seul fichier (main.go), tout fonctionnait bien. Maintenant que j'ai pris quelques efforts pour séparer le code, il semble que le compilateur est incapable de trouver le contenu qui a été retiré de main.go et placé dans ces deux autres fichiers (qui résident dans le même répertoire que le main.go) . Ce qui entraîne des erreurs de "type" indéfini ".
Comment compiler ce programme composé de plusieurs fichiers?
la source
Lorsque vous séparez le code de
main.go
dans, par exemplemore.go
, vous transmettez simplement ce fichier àgo build
/go run
/go install
.Donc, si vous avez déjà couru
toi maintenant simplement
Comme informations complémentaires:
États:
Notez que
go build
etgo install
diffèrent dego run
cela, les deux premiers état d'attendre des noms de package comme arguments, tandis que le dernier attend des fichiers go . Cependant, les deux premiers acceptent également les fichiers go comme le fait go install.Si vous vous demandez: build ne contiendra que
build
les packages / fichiers,install
produira des objets et des fichiers binaires dans votre GOPATH, etrun
compilera et exécutera votre programme.la source
Vous pouvez aussi simplement courir
dans le dossier de votre projet myproject / go / src / myprog
Ensuite, vous pouvez simplement taper
pour exécuter votre application
la source
chmod +x
autorisation pour ce fichier de l'exécuterDepuis Go 1.11+, GOPATH n'est plus recommandé, la nouvelle méthode utilise les modules Go.
Disons que vous écrivez un programme appelé
simple
:Créez un répertoire:
Créez un nouveau module:
Mettez tous vos fichiers dans ce répertoire.
Enfin, exécutez:
Vous pouvez également créer un programme exécutable en le construisant:
Pour plus d'informations, vous pouvez lire ceci .
la source
Vous pouvez utiliser
les deux fonctionneront aussi vous pouvez utiliser
la source
Cela dépend de la structure de votre projet. Mais le plus simple est:
puis courez
./myproject
.Supposons que la structure de votre projet ressemble à ceci
alors vous allez simplement dans le répertoire du projet et exécutez
puis exécutez
./myproject
sur shell.ou
supposons que votre fichier principal soit imbriqué dans un sous-répertoire comme un
cmd
alors tu vas courir
la source
Ouaip! C'est très simple et c'est là que la stratégie de package entre en jeu. il y a trois manières à ma connaissance. structure des dossiers:
GOPATH / src / github.com/ abc / myproject / adapter / main.go pkg1 pkg2 avertissement: l'adaptateur ne peut contenir que les répertoires principal du package et sun
exe sera créé dans le répertoire dans lequel vous vous trouvez actuellement.
la source