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") }
Dieser Code löst die Warnung aus:
./prog.go:8:2: Println call has possible formatting directive %d
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)
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) } } }, }) }
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!