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

bookLogische Operatoren

Eine weitere Klasse von Operatoren sind die logischen Operatoren. Im Gegensatz zu anderen Operatoren, die mit numerischen Werten arbeiten, sind logische Operatoren für die Verarbeitung von booleschen Werten konzipiert. Es gibt drei logische Operatoren:

OperatorLogik
!NICHT
||ODER
&&UND

Der NICHT-Operator (!) wird verwendet, um einen booleschen Ausdruck zu negieren (umzukehren). Hier ist ein einfaches Beispiel mit einer if-Anweisung:

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }

Im obigen Code wird die Print-Anweisung nicht ausgeführt, da die Bedingung standardmäßig false ist. Wenn wir jedoch einen NICHT-Operator in den Ausdruck einfügen, wird dieser negiert und ist somit äquivalent zu true:

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }

Wir können den NOT-Operator (!) auch in komplexeren Fällen verwenden. Allerdings müssen wir die Ausdrücke in Klammern setzen, bevor wir sie negieren. Wenn wir zum Beispiel 3 > 4 negieren möchten, schreiben wir !(3 > 4):

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }

Der OR-Operator (||) wertet zwei Operanden aus und gibt true zurück, wenn mindestens einer der Operanden true ist.

Hinweis

Ein Operand bezeichnet einen Wert oder Ausdruck, der als Eingabe für einen Operator in einer Anweisung oder einem Ausdruck verwendet wird. Im Ausdruck 1 + 2 sind die Werte 1 und 2 Operanden. Bei logischen Operatoren ist ein Operand immer ein boolescher Ausdruck oder Wert.

Hier ist ein Beispiel, das die grundlegende Verwendung von logischen Operatoren veranschaulicht:

index.go

index.go

copy
1234567
package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }

Die erste Anweisung gibt true aus, da einer der Operanden im Ausdruck true || false den Wert true hat. Im Gegensatz dazu gibt die zweite Anweisung false aus, da beide Operanden in diesem Ausdruck false sind. Nachfolgend ist die Wahrheitstabelle für die logische ODER-Operation dargestellt:

Hinweis

Eine Wahrheitstabelle ist eine logische Darstellung, die alle möglichen Kombinationen von Eingabewerten und deren entsprechenden Ausgabewerten zeigt.

InputOutput
true || truetrue
true || falsetrue
false || truetrue
false || falsefalse

Logische ODER-Operatoren können verkettet werden, um mehrere Operanden zu kombinieren. In diesem Fall wird der Ausdruck von links nach rechts ausgewertet:

index.go

index.go

copy
123456
package main import "fmt" func main() { fmt.Println(false || false || true || false) }

Die Auswertungsreihenfolge für den obigen Ausdruck ist wie folgt:

Hinweis

Standardmäßig werden alle logischen Ausdrücke von links nach rechts ausgewertet.

Der logische UND-Operator (&&) ähnelt dem ODER-Operator (||), gibt jedoch nur dann true zurück, wenn beide Operanden den Wert true haben. Die Wahrheitstabelle für die logische UND-Operation (&&) ist unten dargestellt:

InputOutput
true && truetrue
true && falsefalse
false && truefalse
false && falsefalse

Nachfolgend ein komplexeres Beispiel, das eine praktische Anwendung logischer Operatoren zeigt. Nehmen Sie sich einen Moment Zeit, um den Code zu betrachten und zu verstehen, wie er funktioniert:

index.go

index.go

copy
1234567891011
package main import "fmt" func main() { var x int = 99 if (1 <= x && x <= 10 || 90 <= x && x <= 100) { fmt.Printf("The value %d is in the range 1-10 or 90-100", x) } else { fmt.Printf("The value %d is not in the range 1-10 or 90-100", x) } }

Beachten Sie, dass im obigen Beispiel mehrere Operatoren und Werte verwendet werden, um eine komplexere Bedingung zu erstellen. Während der Ausführung wird der Ausdruck entsprechend der Priorität der Operatoren ausgewertet. Operatoren mit hoher Priorität werden zuerst ausgewertet, daher ist es wichtig, die Reihenfolge der Verarbeitung zu verstehen. Vergleichsoperatoren haben eine höhere Priorität als logische Operatoren.

Nachfolgend ist ein Diagramm dargestellt, das die Prioritätsreihenfolge der logischen Operatoren veranschaulicht:

Das folgende Diagramm zeigt, wie der Ausdruck 1 <= x && x <= 10 || 90 <= x && x <= 100 ausgewertet wird:

question mark

Welche der folgenden Ausdrücke können wir in der if-Anweisung verwenden, um zu überprüfen, ob eine Form basierend auf width und height ein Quadrat ist?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4

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

bookLogische Operatoren

Swipe um das Menü anzuzeigen

Eine weitere Klasse von Operatoren sind die logischen Operatoren. Im Gegensatz zu anderen Operatoren, die mit numerischen Werten arbeiten, sind logische Operatoren für die Verarbeitung von booleschen Werten konzipiert. Es gibt drei logische Operatoren:

OperatorLogik
!NICHT
||ODER
&&UND

Der NICHT-Operator (!) wird verwendet, um einen booleschen Ausdruck zu negieren (umzukehren). Hier ist ein einfaches Beispiel mit einer if-Anweisung:

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (false) { fmt.Println("Print if True") } }

Im obigen Code wird die Print-Anweisung nicht ausgeführt, da die Bedingung standardmäßig false ist. Wenn wir jedoch einen NICHT-Operator in den Ausdruck einfügen, wird dieser negiert und ist somit äquivalent zu true:

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (!false) { fmt.Println("Print if True") } }

Wir können den NOT-Operator (!) auch in komplexeren Fällen verwenden. Allerdings müssen wir die Ausdrücke in Klammern setzen, bevor wir sie negieren. Wenn wir zum Beispiel 3 > 4 negieren möchten, schreiben wir !(3 > 4):

index.go

index.go

copy
12345678
package main import "fmt" func main() { if (!(3 > 4)) { fmt.Println("Print if True") } }

Der OR-Operator (||) wertet zwei Operanden aus und gibt true zurück, wenn mindestens einer der Operanden true ist.

Hinweis

Ein Operand bezeichnet einen Wert oder Ausdruck, der als Eingabe für einen Operator in einer Anweisung oder einem Ausdruck verwendet wird. Im Ausdruck 1 + 2 sind die Werte 1 und 2 Operanden. Bei logischen Operatoren ist ein Operand immer ein boolescher Ausdruck oder Wert.

Hier ist ein Beispiel, das die grundlegende Verwendung von logischen Operatoren veranschaulicht:

index.go

index.go

copy
1234567
package main import "fmt" func main() { fmt.Println(true || false) fmt.Println(false || false) }

Die erste Anweisung gibt true aus, da einer der Operanden im Ausdruck true || false den Wert true hat. Im Gegensatz dazu gibt die zweite Anweisung false aus, da beide Operanden in diesem Ausdruck false sind. Nachfolgend ist die Wahrheitstabelle für die logische ODER-Operation dargestellt:

Hinweis

Eine Wahrheitstabelle ist eine logische Darstellung, die alle möglichen Kombinationen von Eingabewerten und deren entsprechenden Ausgabewerten zeigt.

InputOutput
true || truetrue
true || falsetrue
false || truetrue
false || falsefalse

Logische ODER-Operatoren können verkettet werden, um mehrere Operanden zu kombinieren. In diesem Fall wird der Ausdruck von links nach rechts ausgewertet:

index.go

index.go

copy
123456
package main import "fmt" func main() { fmt.Println(false || false || true || false) }

Die Auswertungsreihenfolge für den obigen Ausdruck ist wie folgt:

Hinweis

Standardmäßig werden alle logischen Ausdrücke von links nach rechts ausgewertet.

Der logische UND-Operator (&&) ähnelt dem ODER-Operator (||), gibt jedoch nur dann true zurück, wenn beide Operanden den Wert true haben. Die Wahrheitstabelle für die logische UND-Operation (&&) ist unten dargestellt:

InputOutput
true && truetrue
true && falsefalse
false && truefalse
false && falsefalse

Nachfolgend ein komplexeres Beispiel, das eine praktische Anwendung logischer Operatoren zeigt. Nehmen Sie sich einen Moment Zeit, um den Code zu betrachten und zu verstehen, wie er funktioniert:

index.go

index.go

copy
1234567891011
package main import "fmt" func main() { var x int = 99 if (1 <= x && x <= 10 || 90 <= x && x <= 100) { fmt.Printf("The value %d is in the range 1-10 or 90-100", x) } else { fmt.Printf("The value %d is not in the range 1-10 or 90-100", x) } }

Beachten Sie, dass im obigen Beispiel mehrere Operatoren und Werte verwendet werden, um eine komplexere Bedingung zu erstellen. Während der Ausführung wird der Ausdruck entsprechend der Priorität der Operatoren ausgewertet. Operatoren mit hoher Priorität werden zuerst ausgewertet, daher ist es wichtig, die Reihenfolge der Verarbeitung zu verstehen. Vergleichsoperatoren haben eine höhere Priorität als logische Operatoren.

Nachfolgend ist ein Diagramm dargestellt, das die Prioritätsreihenfolge der logischen Operatoren veranschaulicht:

Das folgende Diagramm zeigt, wie der Ausdruck 1 <= x && x <= 10 || 90 <= x && x <= 100 ausgewertet wird:

question mark

Welche der folgenden Ausdrücke können wir in der if-Anweisung verwenden, um zu überprüfen, ob eine Form basierend auf width und height ein Quadrat ist?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 4
some-alt