Maison > développement back-end > Golang > Comment compiler Golang

Comment compiler Golang

Libérer: 2019-12-26 09:43:50
original
5053 Les gens l'ont consulté

Comment compiler Golang

La commande go build utilisée dans le langage Go est principalement utilisée pour compiler du code. Lors du processus de compilation du package, si nécessaire, les packages qui lui sont associés seront compilés en même temps.

go build propose de nombreuses méthodes de compilation, telles que la compilation sans paramètre, la compilation de listes de fichiers, la compilation de packages spécifiés, etc. Vous pouvez utiliser ces méthodes pour générer des fichiers exécutables.

aller construire des compilations sans paramètres

La relation de répertoire du code par rapport à GOPATH est la suivante :

.
└ ── src
└── chapitre 11
└── gobuild
├── lib.go

package main

import (
    "fmt"
)

func main() {

    // 同包的函数
    pkgFunc()

    fmt.Println("hello world")
}
Copier après la connexion

le code de lib.go est le suivant :
package main
import "fmt"
func pkgFunc() {
    fmt.Println("call pkgFunc")
}
Copier après la connexion

S'il y a Il n'y a pas de références de package qui dépendent de GOPATH dans le code source, alors ces codes sources peuvent utiliser une construction go sans paramètre. Le format est le suivant :

go build
Copier après la connexion

Utilisez la commande go build dans le répertoire où se trouve le code (./src/chapter11/gobuild), comme indiqué ci-dessous :

$ cd src/chapter11/gobuild/

$ go build

$ ls
gobuild lib.go main.go

$ ./gobuild
call pkgFunc
bonjour tout le monde


Commande de ligne de commande Et la description de la sortie est la suivante :

Ligne 1, allez dans le répertoire du code source de cet exemple.

Ligne 2, lorsque go build démarre la compilation, il recherchera le code source go du répertoire courant. Dans cet exemple, go build trouvera deux fichiers, lib.go et main.go. Après avoir compilé ces deux fichiers, un fichier exécutable avec le nom du répertoire actuel est généré et placé dans le répertoire courant. Le fichier exécutable ici est go build.

Les lignes 3 et 4 répertorient les fichiers du répertoire courant. La compilation est réussie et le fichier exécutable go build est généré.

Ligne 5, exécutez le fichier exécutable go build dans le répertoire courant.

Lignes 6 et 7, le contenu de sortie après l'exécution de go build.

go build+file list

Lors de la compilation de plusieurs fichiers de code source dans le même répertoire, vous pouvez fournir plusieurs noms de fichiers après go build, et go build les compilera codes sources, affichez le fichier exécutable, le format de "go build+file list" est le suivant :

go build file1.go file2.go……
Copier après la connexion
Utilisez go build dans le répertoire où se trouve le code (./src/chapter11/gobuild), et ajoutez le fichier à compiler après go build Nom du fichier source, le code est le suivant :

$ go build main.go lib.go
$ ls

lib .go main main.go
$ ./main

call pkgFunc
hello world
$ go build lib.go main.go
$ ls
lib lib.go main main. go


Instructions de ligne de commande La description de la sortie est la suivante :

La ligne 1 ajoute une liste de fichiers après la construction de go et sélectionne le code source Go qui doit être compilé.

Les lignes 2 et 3 listent les fichiers du répertoire courant après compilation. Cette fois, le nom du fichier exécutable devient principal.

Les lignes 4 à 6 exécutent le fichier principal et obtiennent le résultat attendu.

Ligne 7, essayez d'ajuster l'ordre de la liste des fichiers pour mettre lib.go en haut de la liste.

Aux lignes 8 et 9, le fichier exécutable lib apparaît dans le résultat de la compilation.

Lors de la compilation à l'aide de la méthode "go build+file list", le fichier exécutable sélectionne le premier fichier de code source dans la liste de fichiers comme nom de fichier exécutable pour la sortie par défaut.

go build+package

Après avoir défini GOPATH, "go build+package" peut être compilé directement en fonction du nom du package, même si les fichiers du package sont ajouté (ajouté) ou supprimé ( Sauf) n'affecte pas les directives de compilation. 1) Emplacement du code et code source

La relation d'annuaire relative à GOPATH est la suivante :

.

└── src

└ ── chapitre 11
└──goinstall

├── main.go
└── mypkg
└── mypkg.go


Le code main.go est comme suit :

package main
import (
    "chapter11/goinstall/mypkg"
    "fmt"
)
func main() {
    mypkg.CustomPkgFunc()
    fmt.Println("hello world")
}
Copier après la connexion

le code de mypkg.go est le suivant :
package mypkg
import "fmt"
func CustomPkgFunc() {
    fmt.Println("call CustomPkgFunc")
}
Copier après la connexion

2) Compiler par commande de package

Exécutez la commande suivante pour compiler le code goinstall par package :

$ export GOPATH=/home/davy/golangbook/code

$ go build -o main Chapter11/goinstall

$ ./goinstall
call CustomPkgFunc

bonjour tout le monde


code Les instructions sont les suivantes :

Ligne 1, définissez la variable d'environnement GOPATH Le chemin ici est le répertoire de l'auteur. Vous pouvez définir GOPATH en fonction du répertoire réel.

Ligne 2, -o exécution spécifie le fichier de sortie comme principal, suivi du nom du package à compiler. Les noms de packages commencent par rapport au répertoire src sous GOPATH.

Lignes 3 à 5, la compilation est réussie et le résultat attendu est obtenu après l'exécution de main.

Pour plus de connaissances sur le golang, veuillez faire attention à la colonne tutoriel golang.

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal