Heim > Artikel > Backend-Entwicklung > Nutzt Go die Kurzschlussauswertung in booleschen Ausdrücken?
Implementiert Go eine Kurzschlussauswertung?
Unter Kurzschlussauswertung versteht man die Praxis, einen Ausdruck in einer if-Anweisung nur dann auszuwerten, wenn dies der Fall ist notwendig, um das Ergebnis der Aussage zu ermitteln. Mit anderen Worten: Wenn der erste Ausdruck in einer if-Anweisung „falsch“ ergibt, werden die übrigen Ausdrücke nicht ausgewertet.
Go implementiert die Kurzschlussauswertung. Dies kann mit dem folgenden Code veranschaulicht werden:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if testFunc(1) || testFunc(2) { // do nothing } } } func testFunc(i int) bool { fmt.Printf("function %d called\n", i) return true }
Wenn dieser Code ausgeführt wird, wird die folgende Ausgabe ausgegeben:
$ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called $ function 1 called
Wie Sie sehen können, ist die Funktion testFunc(2 ) wird nie aufgerufen, da der erste Ausdruck in der if-Anweisung (testFunc(1)) als wahr ausgewertet wird. Dies zeigt, dass Go die Kurzschlussauswertung implementiert.
Das obige ist der detaillierte Inhalt vonNutzt Go die Kurzschlussauswertung in booleschen Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!