Kursinhalt
Einführung in Golang
Einführung in Golang
Bedingte Verkettung
Wir können das Schlüsselwort else if
verwenden, um eine zusätzliche Bedingung zu definieren, die ausgewertet wird, falls die vorherige Bedingung nicht erfüllt ist:
index
package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 2) { fmt.Println("3 is greater than 2") } }
Im obigen Programm wird zuerst der Ausdruck 3 > 4
überprüft, was false
ist; daher fährt das Programm mit der nächsten Anweisung (3 > 2
) fort, die mit dem Schlüsselwort else if
definiert ist. Die nächste Bedingung ist true
, daher zeigt die Ausgabe das Ergebnis der zweiten Println
-Anweisung an.
Wir können so viele zusätzliche Bedingungen hinzufügen, wie benötigt, indem wir else if
-Anweisungen verwenden:
index
package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } else if (3 > 3) { fmt.Println("3 is greater than 3") } else if (3 > 2) { fmt.Println("3 is greater than 2") } else if (3 > 1) { fmt.Println("3 is greater than 1") } }
Es ist wichtig zu beachten, dass das obige Programm nur 3 is greater than 2
ausgibt, obwohl die nächste Bedingung ebenfalls true
ist. Dies zeigt, dass eine if-else if
-Kette die Bedingungen nicht weiter auswertet, sobald sie auf eine true
-Bedingung trifft.
Dieser Prozess wird als bedingte Verkettung bezeichnet, weil wir im Wesentlichen Bedingungen in einer Kette mit den Schlüsselwörtern if
-else if
definieren.
Hinweis
In einer bedingten Kette wird nur ein Codeblock ausgeführt, derjenige, der die Bedingung erfüllt, während die anderen übersprungen werden.
Alternativ, anstatt Bedingungen mit der Kombination if
-else if
zu verketten, können wir jede Bedingung mit separaten if
-Anweisungen schreiben. Diese Vorgehensweise führt jedoch zu einem anderen Ergebnis, da es sich nicht mehr um eine einzelne Kette handelt; es ist eine Reihe von separaten Bedingungen, und daher wird die Ausführung nicht gestoppt, wenn eine oder mehrere Bedingungen erfüllt sind:
index
package main import "fmt" func main() { if (3 > 4) { fmt.Println("3 is greater than 4") } if (3 > 3) { fmt.Println("3 is greater than 3") } if (3 > 2) { fmt.Println("3 is greater than 2") } if (3 > 1) { fmt.Println("3 is greater than 1") } }
Bis zu diesem Punkt haben wir der Einfachheit halber Werte in booleschen Ausdrücken verwendet. Es ist jedoch häufiger, Variablen oder eine Kombination aus Variablen und Werten in booleschen Ausdrücken zu verwenden:
index
package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
In einer Bedingungskette können wir das Schlüsselwort else
verwenden, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn keine der Bedingungen in der Kette erfüllt ist:
index
package main import "fmt" func main() { var value int = 70 if (value < 50) { fmt.Println("The value is less than 50") } else if (value == 50) { fmt.Println("The value is equal to 50") } else { fmt.Println("The value is greater than 50") } }
Danke für Ihr Feedback!