Voorwaardelijke Keten
We kunnen het sleutelwoord else if gebruiken om een extra voorwaarde te definiëren die wordt geëvalueerd als aan de vorige voorwaarde niet is voldaan:
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") } }
In het bovenstaande programma wordt de expressie 3 > 4 eerst gecontroleerd, wat false is; daarom gaat het programma verder met de volgende instructie (3 > 2) die is gedefinieerd met het sleutelwoord else if. De volgende voorwaarde is true, dus de uitvoer toont het resultaat van de tweede Println-instructie.
We kunnen zoveel extra voorwaarden toevoegen als nodig is met behulp van else if-instructies:
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") } }
Het is belangrijk op te merken dat het bovenstaande programma alleen 3 is greater than 2 uitvoert, ook al is de volgende conditie ook true. Dit toont aan dat een if-else if-keten stopt met het evalueren van condities zodra het een true conditie tegenkomt.
Dit proces wordt conditionele ketening genoemd omdat we in wezen condities definiëren in een keten met behulp van de if-else if-sleutelwoorden.
Opmerking
In een conditionele keten wordt slechts één codeblok uitgevoerd, namelijk het blok dat aan de conditie voldoet, terwijl de rest wordt overgeslagen.
Als alternatief, in plaats van conditionals te koppelen met de combinatie if-else if, kunnen we elke conditie schrijven met afzonderlijke if-statements. Deze aanpak levert echter een andere uitvoer op omdat het niet langer een enkele keten is; het is een verzameling van afzonderlijke condities, en daarom stopt het niet met uitvoeren als een of meer van de condities worden voldaan:
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") } }
Tot nu toe hebben we, omwille van de eenvoud, waarden gebruikt in booleaanse expressies. Het is echter gebruikelijker om variabelen of een combinatie van variabelen en waarden te gebruiken in booleaanse expressies:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
In een conditionele keten kunnen we het sleutelwoord else gebruiken om een codeblok aan te geven dat moet worden uitgevoerd als geen van de voorwaarden in de keten waar is:
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") } }
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.
Awesome!
Completion rate improved to 1.96
Voorwaardelijke Keten
Veeg om het menu te tonen
We kunnen het sleutelwoord else if gebruiken om een extra voorwaarde te definiëren die wordt geëvalueerd als aan de vorige voorwaarde niet is voldaan:
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") } }
In het bovenstaande programma wordt de expressie 3 > 4 eerst gecontroleerd, wat false is; daarom gaat het programma verder met de volgende instructie (3 > 2) die is gedefinieerd met het sleutelwoord else if. De volgende voorwaarde is true, dus de uitvoer toont het resultaat van de tweede Println-instructie.
We kunnen zoveel extra voorwaarden toevoegen als nodig is met behulp van else if-instructies:
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") } }
Het is belangrijk op te merken dat het bovenstaande programma alleen 3 is greater than 2 uitvoert, ook al is de volgende conditie ook true. Dit toont aan dat een if-else if-keten stopt met het evalueren van condities zodra het een true conditie tegenkomt.
Dit proces wordt conditionele ketening genoemd omdat we in wezen condities definiëren in een keten met behulp van de if-else if-sleutelwoorden.
Opmerking
In een conditionele keten wordt slechts één codeblok uitgevoerd, namelijk het blok dat aan de conditie voldoet, terwijl de rest wordt overgeslagen.
Als alternatief, in plaats van conditionals te koppelen met de combinatie if-else if, kunnen we elke conditie schrijven met afzonderlijke if-statements. Deze aanpak levert echter een andere uitvoer op omdat het niet langer een enkele keten is; het is een verzameling van afzonderlijke condities, en daarom stopt het niet met uitvoeren als een of meer van de condities worden voldaan:
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") } }
Tot nu toe hebben we, omwille van de eenvoud, waarden gebruikt in booleaanse expressies. Het is echter gebruikelijker om variabelen of een combinatie van variabelen en waarden te gebruiken in booleaanse expressies:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
In een conditionele keten kunnen we het sleutelwoord else gebruiken om een codeblok aan te geven dat moet worden uitgevoerd als geen van de voorwaarden in de keten waar is:
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") } }
Bedankt voor je feedback!