Es wird vermieden, dass alle Variablen für die Rückgabewerte deklariert werden müssen.
Es wird als leere Kennung bezeichnet .
Wie in:
_, y, _ := coord(p) // coord() returns three values; only interested in y coordinate
(Der andere _
Anwendungsfall ist für den Import )
Da der Rückgabewert verworfen wird, ist es hilfreich, wenn Sie nur einen der zurückgegebenen Werte überprüfen möchten, wie in " So testen Sie die Schlüsselexistenz in einer Karte " in " Effective Go, map " gezeigt:
_, present := timeZone[tz]
Um die Präsenz in der Karte zu testen, ohne sich um den tatsächlichen Wert zu kümmern, können Sie den leeren Bezeichner verwenden, einen einfachen Unterstrich ( _
).
Die leere Kennung kann mit einem beliebigen Wert eines beliebigen Typs zugewiesen oder deklariert werden, wobei der Wert harmlos verworfen wird.
Verwenden Sie zum Testen der Präsenz in einer Karte die leere Kennung anstelle der üblichen Variablen für den Wert.
Wie Jsor in den Kommentaren hinzufügt :
"Allgemein anerkannter Standard" heißt, die Mitgliedschaftstestvariablen "ok" zu nennen (dasselbe gilt für die Überprüfung, ob ein gelesener Kanal gültig war oder nicht).
So können Sie es mit Test kombinieren:
if _, err := os.Stat(path); os.IsNotExist(err) {
fmt.Printf("%s does not exist\n", path)
}
Sie würden es auch in Schleife finden:
Wenn Sie nur das zweite Element im Bereich (den Wert) benötigen, verwenden Sie die leere Kennung, einen Unterstrich, um das erste zu verwerfen:
sum := 0
for _, value := range array {
sum += value
}