Heim > Backend-Entwicklung > Golang > Wie kann ich den ausführbaren Pfad in Go zuverlässig finden?

Wie kann ich den ausführbaren Pfad in Go zuverlässig finden?

Mary-Kate Olsen
Freigeben: 2024-12-23 18:04:11
Original
914 Leute haben es durchsucht

How Can I Reliably Find the Executable Path in Go?

Den Pfad zu einer ausführbaren Datei in Go finden

In Go müssen Entwickler häufig den ausführbaren Pfad ihrer kompilierten Programme finden. Dieser Pfad kann abhängig vom Betriebssystem, dem aktuellen Arbeitsverzeichnis und davon, ob sich die ausführbare Datei in der PATH-Variablen des Systems befindet, variieren.

Verwendung von os.Args[0]

Zunächst könnten Entwickler versuchen, os.Args[0] zu verwenden, um den ausführbaren Pfad abzurufen. Obwohl dieser Ansatz in einigen Szenarien funktionieren kann, weist er Einschränkungen auf. Wenn der Name der ausführbaren Datei Zeichen enthält, die einen relativen oder absoluten Pfad angeben (z. B. „../foo“), wird nur der Dateiname und nicht der vollständige Pfad zurückgegeben.

Nutzung von os.Executable ( Go 1.8 )

Ab Go 1.8 bietet die os.Executable-Funktion eine robustere Lösung zum Auffinden von ausführbarer Pfad. Diese Funktion gibt den absoluten Pfad der aktuellen ausführbaren Datei zurück, sodass keine zusätzlichen Überprüfungen erforderlich sind.

Beispielcode:

import (
    "os"
    "path"
    "log"
)

func main() {
    ex, err := os.Executable()
    if err != nil { log.Fatal(err) }
    dir := path.Dir(ex)
    log.Print(dir)
}
Nach dem Login kopieren

Bei der Ausführung protokolliert dieser Code die Verzeichnis, das die ausführbare Datei enthält, unabhängig davon, wie sie aufgerufen wurde (z. B. „./foo“, „foo“).

Das obige ist der detaillierte Inhalt vonWie kann ich den ausführbaren Pfad in Go zuverlässig finden?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage