Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Logische Operatoren | Controle Structuren
Introductie tot Golang

bookLogische Operatoren

Een andere klasse van operatoren staat bekend als logische operatoren. In tegenstelling tot andere operatoren die met numerieke waarden werken, zijn logische operatoren bedoeld voor het verwerken van booleaanse waarden. Er zijn drie logische operatoren:

OperatorLogica
!NOT
||OF
&&EN

De NOT (!) operator wordt gebruikt om een booleaanse expressie te negateren (om te keren). Hier is een eenvoudig voorbeeld met een if-statement:

index.go

index.go

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

In de bovenstaande code wordt de Print-instructie niet uitgevoerd omdat de voorwaarde standaard false is. Als we echter een NOT-operator in de expressie opnemen, wordt deze omgekeerd en dus gelijk aan true:

index.go

index.go

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

We kunnen de NOT (!) operator ook in complexere gevallen gebruiken. Het is echter noodzakelijk om de expressies tussen haakjes te plaatsen voordat we ze negateren. Bijvoorbeeld, als we 3 > 4 willen negateren, schrijven we !(3 > 4):

index.go

index.go

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

De OR (||) operator evalueert twee operanden en retourneert true als ten minste één van de operanden true is.

Opmerking

Een operand verwijst naar een waarde of expressie die als invoer wordt gebruikt voor een operator in een instructie of expressie. Bijvoorbeeld, in de expressie 1 + 2 zijn de waarden 1 en 2 operanden. In het geval van logische operatoren is een operand altijd een booleaanse expressie of waarde.

Hier volgt een voorbeeld dat het basisgebruik van logische operatoren illustreert:

index.go

index.go

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

De eerste instructie geeft true als uitvoer omdat een van de operanden in de expressie true || false true is. Daarentegen geeft de tweede instructie false als uitvoer omdat beide operanden in die expressie false zijn. Hieronder staat de waarheidstabel voor de logische OF-operatie:

Opmerking

Een waarheidstabel is een logische representatie die alle mogelijke combinaties van invoerwaarden en hun bijbehorende uitvoerwaarden weergeeft.

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

Logische OF-operatoren kunnen worden gekoppeld om meerdere operanden te combineren. In dit geval wordt de expressie van links naar rechts geëvalueerd:

index.go

index.go

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

De volgorde van evaluatie voor bovenstaande expressie is als volgt:

Opmerking

Standaard worden alle logische expressies van links naar rechts geëvalueerd.

De logische EN (&&) operator lijkt op de OF (||) operator, maar geeft alleen true terug als beide operanden de waarde true hebben. De waarheidstabel voor de logische EN (&&) operatie is hieronder weergegeven:

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

Hier volgt een complexer voorbeeld dat een praktisch gebruik van logische operatoren demonstreert. Neem even de tijd om de code te bekijken en te begrijpen hoe deze werkt:

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) } }

Let op dat in het bovenstaande voorbeeld meerdere operatoren en waarden worden gebruikt om een complexere voorwaarde te creëren. Tijdens de uitvoering wordt de expressie geëvalueerd op basis van de prioriteit van de operatoren. Operatoren met een hoge prioriteit worden eerst geëvalueerd, en het is belangrijk om de volgorde waarin ze worden verwerkt te begrijpen. Vergelijkingsoperatoren hebben een hogere prioriteit dan logische operatoren.

Hieronder staat een diagram dat de prioriteitsvolgorde van logische operatoren illustreert:

Het volgende diagram laat zien hoe de expressie 1 <= x && x <= 10 || 90 <= x && x <= 100 wordt geëvalueerd:

question mark

Welke van de volgende expressies kunnen we gebruiken in de if-statement om te controleren of een vorm een vierkant is op basis van width en height?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 1.96

bookLogische Operatoren

Veeg om het menu te tonen

Een andere klasse van operatoren staat bekend als logische operatoren. In tegenstelling tot andere operatoren die met numerieke waarden werken, zijn logische operatoren bedoeld voor het verwerken van booleaanse waarden. Er zijn drie logische operatoren:

OperatorLogica
!NOT
||OF
&&EN

De NOT (!) operator wordt gebruikt om een booleaanse expressie te negateren (om te keren). Hier is een eenvoudig voorbeeld met een if-statement:

index.go

index.go

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

In de bovenstaande code wordt de Print-instructie niet uitgevoerd omdat de voorwaarde standaard false is. Als we echter een NOT-operator in de expressie opnemen, wordt deze omgekeerd en dus gelijk aan true:

index.go

index.go

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

We kunnen de NOT (!) operator ook in complexere gevallen gebruiken. Het is echter noodzakelijk om de expressies tussen haakjes te plaatsen voordat we ze negateren. Bijvoorbeeld, als we 3 > 4 willen negateren, schrijven we !(3 > 4):

index.go

index.go

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

De OR (||) operator evalueert twee operanden en retourneert true als ten minste één van de operanden true is.

Opmerking

Een operand verwijst naar een waarde of expressie die als invoer wordt gebruikt voor een operator in een instructie of expressie. Bijvoorbeeld, in de expressie 1 + 2 zijn de waarden 1 en 2 operanden. In het geval van logische operatoren is een operand altijd een booleaanse expressie of waarde.

Hier volgt een voorbeeld dat het basisgebruik van logische operatoren illustreert:

index.go

index.go

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

De eerste instructie geeft true als uitvoer omdat een van de operanden in de expressie true || false true is. Daarentegen geeft de tweede instructie false als uitvoer omdat beide operanden in die expressie false zijn. Hieronder staat de waarheidstabel voor de logische OF-operatie:

Opmerking

Een waarheidstabel is een logische representatie die alle mogelijke combinaties van invoerwaarden en hun bijbehorende uitvoerwaarden weergeeft.

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

Logische OF-operatoren kunnen worden gekoppeld om meerdere operanden te combineren. In dit geval wordt de expressie van links naar rechts geëvalueerd:

index.go

index.go

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

De volgorde van evaluatie voor bovenstaande expressie is als volgt:

Opmerking

Standaard worden alle logische expressies van links naar rechts geëvalueerd.

De logische EN (&&) operator lijkt op de OF (||) operator, maar geeft alleen true terug als beide operanden de waarde true hebben. De waarheidstabel voor de logische EN (&&) operatie is hieronder weergegeven:

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

Hier volgt een complexer voorbeeld dat een praktisch gebruik van logische operatoren demonstreert. Neem even de tijd om de code te bekijken en te begrijpen hoe deze werkt:

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) } }

Let op dat in het bovenstaande voorbeeld meerdere operatoren en waarden worden gebruikt om een complexere voorwaarde te creëren. Tijdens de uitvoering wordt de expressie geëvalueerd op basis van de prioriteit van de operatoren. Operatoren met een hoge prioriteit worden eerst geëvalueerd, en het is belangrijk om de volgorde waarin ze worden verwerkt te begrijpen. Vergelijkingsoperatoren hebben een hogere prioriteit dan logische operatoren.

Hieronder staat een diagram dat de prioriteitsvolgorde van logische operatoren illustreert:

Het volgende diagram laat zien hoe de expressie 1 <= x && x <= 10 || 90 <= x && x <= 100 wordt geëvalueerd:

question mark

Welke van de volgende expressies kunnen we gebruiken in de if-statement om te controleren of een vorm een vierkant is op basis van width en height?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 4
some-alt