Heim >Backend-Entwicklung >Golang >Gehen Sie zum Löschen von Build-Informationen

Gehen Sie zum Löschen von Build-Informationen

王林
王林nach vorne
2024-02-10 15:00:111238Durchsuche

Go Build删除信息

php-Editor Baicao Go Build ist ein leistungsstarkes Tool zum Löschen von Informationen, mit dem Benutzer alle Arten von Informationen schnell und effizient löschen können. Ob es darum geht, nutzlose Informationen zu löschen, Spam zu bereinigen, die Privatsphäre zu löschen oder den Browserverlauf zu löschen, Go Build kann damit problemlos umgehen. Mit seinem intelligenten Algorithmus können Benutzer die Aufgabe zum Löschen von Informationen in nur wenigen einfachen Schritten abschließen. Go Build ist nicht nur einfach zu bedienen, sondern auch sicher und zuverlässig und schützt die Privatsphäre der Benutzer vor Verletzungen. Unabhängig davon, ob es sich um einen einzelnen Benutzer oder einen Unternehmensbenutzer handelt, ist Go Build ein unverzichtbares Tool, das das Löschen von Informationen bequemer und effizienter macht.

Frageninhalt

Ich kann Go Build bereits verwenden, um die aktuellen Verzeichnisinformationen des Projekts zu löschen, und ich kann auch die Gopath-Informationen löschen, wie folgt, ich kann jetzt nur eine davon einzeln löschen

go build -gcflags“all=-trimpath=${GOPATH}”-asmflags“all=-trimpath=${GOPATH}”

Aber ich weiß nicht, wie ich sie gleichzeitig löschen soll, ich weiß nicht, wie ich sie kombinieren soll

Unter Windows versuche ich das

go build -gcflags“all=-trimpath=%CD%” -asmflags“all=-trimpath=%CD%” -gcflags“all=-trimpath=%GOPATH%” -asmflags“all=-trimpath=%” GOPATH%"

Funktioniert nicht

Endergebnis

@ZekeLu, die Antwort ist richtig.

Ich möchte erklären, was passiert ist. Ursprünglich wollte ich die GOROOT-Informationen entfernen, aber ich habe GOPATH geschrieben, also dachte ich, die zweite Antwort von @ZekeLu sei falsch. Jetzt habe ich sie geändert und getestet, kein Problem, beide Antworten zur p>

Problemumgehung

Versuchen Sie diesen Befehl:

go build -trimpath

Dies ist die Dokumentation für die -trimpath-Flagge des go-Befehls:

-Trimmpfad

Entfernen Sie alle Dateisystempfade aus der generierten ausführbaren Datei. Protokollierter Dateiname anstelle des absoluten Dateisystempfads startet das Modul path@version (bei Verwendung von Modulen), Oder ein normaler Importpfad (bei Verwendung der Standardbibliothek oder von Gopath).

Wenn Sie nur einige Präfixe entfernen möchten, können Sie Folgendes tun:

go build -gcflags "all=-trimpath=%cd%;%gopath%" -asmflags "all=-trimpath=%cd%;%gopath%"
Der

compile-Befehl und der asm-Befehl rufen objabi.applyrewrites auf, um Pfade zu bereinigen. Laut objabis Implementierung.applyrewritesobjabi.applyrewrites 来修剪路径。根据 objabi 的实现.applyrewritesrewrites ist der Parameter rewrites ein Rewrite, getrennt durch; Schreiben Sie eine Liste.

// ApplyRewrites returns the filename for file in the given directory,
// as rewritten by the rewrites argument.
//
// The rewrites argument is a ;-separated list of rewrites.
// Each rewrite is of the form "prefix" or "prefix=>replace",
// where prefix must match a leading sequence of path elements
// and is either removed entirely or replaced by the replacement.
func ApplyRewrites(file, rewrites string) (string, bool) {
    start := 0
    for i := 0; i <= len(rewrites); i++ {
        if i == len(rewrites) || rewrites[i] == ';' {
            if new, ok := applyRewrite(file, rewrites[start:i]); ok {
                return new, true
            }
            start = i + 1
        }
    }

    return file, false
}

Das obige ist der detaillierte Inhalt vonGehen Sie zum Löschen von Build-Informationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:stackoverflow.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen