Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Bedingte Verkettung | Kontrollstrukturen
Einführung in Golang

bookBedingte 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

index.go

copy
12345678910
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 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

index.go

copy
1234567891011121314
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 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

index.go

copy
1234567891011121314151617
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. In der Praxis ist es jedoch üblicher, Variablen oder eine Kombination aus Variablen und Werten in booleschen Ausdrücken zu verwenden:

index.go

index.go

copy
123456789
package 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

index.go

copy
12345678910111213
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") } }
question mark

Welche der Zeilen werden in der Ausgabe enthalten sein?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 1.96

bookBedingte 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

index.go

copy
12345678910
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 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

index.go

copy
1234567891011121314
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 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

index.go

copy
1234567891011121314151617
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. In der Praxis ist es jedoch üblicher, Variablen oder eine Kombination aus Variablen und Werten in booleschen Ausdrücken zu verwenden:

index.go

index.go

copy
123456789
package 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

index.go

copy
12345678910111213
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") } }
question mark

Welche der Zeilen werden in der Ausgabe enthalten sein?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
some-alt