Heim > Backend-Entwicklung > Golang > Wie kann ich die bedingte Kompilierung mit „// build' in Go erfolgreich nutzen?

Wie kann ich die bedingte Kompilierung mit „// build' in Go erfolgreich nutzen?

DDD
Freigeben: 2024-12-14 09:04:11
Original
118 Leute haben es durchsucht

How Can I Successfully Use Conditional Compilation with

Bedingte Kompilierung in Golang

Sie haben erwähnt, dass bei der bedingten Kompilierung in Go ein Problem aufgetreten ist. Hier finden Sie eine detaillierte Erklärung der „// build“-Einschränkung und des „-tags“-Flags sowie eine Lösung für Ihr Problem.

Die „// build“-Einschränkung teilt dem Compiler mit, welche Build-Tags beim Kompilieren verwendet werden sollen die Datei. In Ihrem Beispiel haben Sie „// build main1“ für main1.go und „// build main2“ für main2.go verwendet. Dies bedeutet, dass diese Dateien nur kompiliert werden, wenn das entsprechende Build-Tag angegeben ist.

Um Ihren Code mit dem gewünschten Build-Tag zu kompilieren, können Sie das Flag „-tags“ verwenden. Um beispielsweise nur main1.go zu kompilieren, können Sie Folgendes ausführen:

$ go build -tags main1
Nach dem Login kopieren

Der Fehler, auf den Sie stoßen, deutet jedoch darauf hin, dass Sie möglicherweise auf ein kleines Detail gestoßen sind, das für die bedingte Kompilierung in Go entscheidend ist: Sie Auf die Zeile „// build XXX“ muss eine Leerzeile folgen. Dies ist nicht explizit dokumentiert, aber im Quellcode ersichtlich.

Hier ist eine modifizierte Version Ihres Codes mit der hinzugefügten Leerzeile:

main1.go

// +build main1

package main

import (
    "fmt"
)

func main() {
    fmt.Println("This is main 1")
}
Nach dem Login kopieren

main2.go

// +build main2

package main

import (
    "fmt"
)

func main() {
    fmt.Println("This is main 2")
}
Nach dem Login kopieren

Jetzt, Wenn Sie „go build -tags main1“ ausführen, wird erwartungsgemäß nur main1.go kompiliert. Wenn Sie diese Regel befolgen, können Sie die bedingte Kompilierung in Golang effektiv nutzen, um Dateien basierend auf den angegebenen Build-Tags selektiv einzuschließen oder auszuschließen.

Das obige ist der detaillierte Inhalt vonWie kann ich die bedingte Kompilierung mit „// build' in Go erfolgreich nutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage