Heim > Backend-Entwicklung > Golang > Wie unterdrücke ich Tierarztwarnungen über mehrere Prozentzeichen in Println?

Wie unterdrücke ich Tierarztwarnungen über mehrere Prozentzeichen in Println?

Susan Sarandon
Freigeben: 2024-12-14 21:06:23
Original
202 Leute haben es durchsucht

How to Suppress Go Vet Warnings About Multiple Percent Signs in Println?

So unterdrücken Sie Go Vet-Warnungen für mehrere Prozentzeichen in Println

Go Vet kann Warnungen generieren, wenn es in Funktionsaufrufen auf potenzielle Formatierungsanweisungen stößt wie Println. Diese Warnung kann besonders frustrierend sein, wenn Sie absichtlich mehrere Prozentzeichen drucken möchten.

Beachten Sie den folgenden Code:

package main

import (
    "fmt"
)

func main() {
    fmt.Println("%%dude")
}
Nach dem Login kopieren

Dieser Code löst die Warnung aus:

./prog.go:8:2: Println call has possible formatting directive %d
Nach dem Login kopieren

Um dieses Problem zu beheben, haben Sie zwei Möglichkeiten:

Alternativer Druck Anweisungen:

Sie können alternative Druckanweisungen verwenden, die keine Prozentzeichen erfordern, um die gleiche Ausgabe zu erzielen. Zum Beispiel:

fmt.Println("%" + "dude")
fmt.Println("%\x25dude")
fmt.Printf("%%%%dude\n")
s := "%%dude"
fmt.Println(s)
Nach dem Login kopieren

Benutzerdefinierte Go Vet-Regeln:

Obwohl dies nicht empfohlen wird, können Sie diese spezielle Warnung unterdrücken, indem Sie Ihre eigenen benutzerdefinierten Go Vet-Regeln definieren. Von diesem Ansatz wird jedoch abgeraten, da er zu inkonsistentem oder unerwartetem Verhalten für andere Benutzer führen könnte, die Ihren Code erstellen.

Um eine benutzerdefinierte Go-Vet-Regel zu erstellen, können Sie eine neue Datei definieren, die normalerweise „custom_rules.go“ heißt. und bearbeiten Sie sie so, dass sie den folgenden Inhalt enthält:

package govetrules

import (
    "github.com/golangci/go-criticisms"
)

func init() {
    criticisms.Register("suppress-fmt-percent-warning", criticisms.Rule{
        Description: "Suppresses the warning for Println calls with multiple percent signs",
        Validator: func(ctx *criticisms.Context, node ast.Node, s string) {
            // Disable the warning for Println calls with at least two consecutive percent signs
            if call, ok := node.(*ast.CallExpr); ok && call.Fun.Name == "Println" {
                args := call.Args
                if len(args) >= 2 && args[0].String() == "\"\"" && args[1].String() == "\"\"" {
                    ctx.SetResult(criticisms.Invalid)
                }
            }
        },
    })
}
Nach dem Login kopieren

Legen Sie diese Datei in Ihr Projektverzeichnis und führen Sie „Go Generate“ aus, um die Regel zu aktivieren. Wie bereits erwähnt, sollte die Verwendung benutzerdefinierter Regeln jedoch als letzter Ausweg betrachtet werden und wird nicht für den allgemeinen Gebrauch empfohlen.

Das obige ist der detaillierte Inhalt vonWie unterdrücke ich Tierarztwarnungen über mehrere Prozentzeichen in Println?. 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