Bedingte Verkettung
Das Schlüsselwort else if kann verwendet werden, um eine zusätzliche Bedingung zu definieren, die ausgewertet wird, falls die vorherige Bedingung nicht erfüllt ist:
index.go
12345678910package 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 zunächst der Ausdruck 3 > 4 geprüft, was false ergibt; 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, sodass die Ausgabe das Ergebnis der zweiten Println-Anweisung anzeigt.
Mit else if-Anweisungen können beliebig viele zusätzliche Bedingungen hinzugefügt werden:
index.go
1234567891011121314package 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 oben gezeigte 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 Auswertung der Bedingungen beendet, sobald eine Bedingung als true erkannt wird.
Dieser Vorgang wird als bedingte Verkettung bezeichnet, da Bedingungen im Wesentlichen in einer Kette mit den Schlüsselwörtern if-else if definiert werden.
Hinweis
In einer bedingten Kette wird nur ein Codeblock ausgeführt, nämlich derjenige, dessen Bedingung erfüllt ist, während die übrigen übersprungen werden.
Alternativ kann man anstelle der Verkettung von Bedingungen mit der Kombination if-else if jede Bedingung mit separaten if-Anweisungen schreiben. Dieser Ansatz führt jedoch zu einer anderen Ausgabe, da es sich nicht mehr um eine einzige Kette handelt, sondern um eine Reihe separater Bedingungen. Daher wird die Ausführung nicht gestoppt, wenn eine oder mehrere Bedingungen erfüllt sind:
index.go
1234567891011121314151617package 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. In der Praxis ist es jedoch üblicher, Variablen oder eine Kombination aus Variablen und Werten in booleschen Ausdrücken zu verwenden:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
In einer Bedingungskette kann das Schlüsselwort else verwendet werden, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn keine der Bedingungen in der Kette erfüllt ist:
index.go
12345678910111213package 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!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you give an example of using variables in a conditional chain?
What happens if none of the conditions in the chain are true?
Can you explain the difference between using chained conditionals and separate if statements?
Awesome!
Completion rate improved to 1.96
Bedingte Verkettung
Swipe um das Menü anzuzeigen
Das Schlüsselwort else if kann verwendet werden, um eine zusätzliche Bedingung zu definieren, die ausgewertet wird, falls die vorherige Bedingung nicht erfüllt ist:
index.go
12345678910package 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 zunächst der Ausdruck 3 > 4 geprüft, was false ergibt; 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, sodass die Ausgabe das Ergebnis der zweiten Println-Anweisung anzeigt.
Mit else if-Anweisungen können beliebig viele zusätzliche Bedingungen hinzugefügt werden:
index.go
1234567891011121314package 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 oben gezeigte 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 Auswertung der Bedingungen beendet, sobald eine Bedingung als true erkannt wird.
Dieser Vorgang wird als bedingte Verkettung bezeichnet, da Bedingungen im Wesentlichen in einer Kette mit den Schlüsselwörtern if-else if definiert werden.
Hinweis
In einer bedingten Kette wird nur ein Codeblock ausgeführt, nämlich derjenige, dessen Bedingung erfüllt ist, während die übrigen übersprungen werden.
Alternativ kann man anstelle der Verkettung von Bedingungen mit der Kombination if-else if jede Bedingung mit separaten if-Anweisungen schreiben. Dieser Ansatz führt jedoch zu einer anderen Ausgabe, da es sich nicht mehr um eine einzige Kette handelt, sondern um eine Reihe separater Bedingungen. Daher wird die Ausführung nicht gestoppt, wenn eine oder mehrere Bedingungen erfüllt sind:
index.go
1234567891011121314151617package 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. In der Praxis ist es jedoch üblicher, Variablen oder eine Kombination aus Variablen und Werten in booleschen Ausdrücken zu verwenden:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
In einer Bedingungskette kann das Schlüsselwort else verwendet werden, um einen Codeblock anzugeben, der ausgeführt werden soll, wenn keine der Bedingungen in der Kette erfüllt ist:
index.go
12345678910111213package 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!