Betinget Kædning
Stryg for at vise menuen
Vi kan bruge nøgleordet else if til at definere en yderligere betingelse, der evalueres, hvis den forrige betingelse ikke er opfyldt:
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") } }
I ovenstående program kontrolleres udtrykket 3 > 4 først, hvilket er false; derfor fortsætter programmet til næste sætning (3 > 2), som er defineret med nøgleordet else if. Den næste betingelse er true, så output viser resultatet af den anden Println-sætning.
Vi kan tilføje så mange yderligere betingelser som nødvendigt ved at bruge else if-sætninger:
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") } }
Det er vigtigt at bemærke, at ovenstående program kun udskriver 3 is greater than 2, selvom den næste betingelse også er true. Dette demonstrerer, at en if-else if-kæde stopper med at evaluere betingelser, så snart den støder på en true betingelse.
Denne proces kaldes betinget kædning, fordi vi i bund og grund definerer betingelser i en kæde ved hjælp af if-else if-nøgleordene.
Bemærk
I en betinget kæde udføres kun én kodeblok, nemlig den der opfylder betingelsen, mens resten springes over.
Alternativt, i stedet for at kæde betingelser sammen med kombinationen if-else if, kan vi skrive hver betingelse med separate if-udsagn. Denne tilgang giver dog et andet output, fordi det ikke længere er en enkelt kæde; det er et sæt af separate betingelser, og derfor stopper den ikke udførelsen, hvis en eller flere af betingelserne er opfyldt:
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") } }
Indtil nu har vi af hensyn til enkelhed anvendt værdier i booleske udtryk. Det er dog mere almindeligt at bruge variabler eller en kombination af variabler og værdier i booleske udtryk:
index.go
123456789package main import "fmt" func main() { var value int = 10 if (value == 10) { fmt.Println("The variable has the expected value.") } }
I en betinget kæde kan vi bruge nøgleordet else til at angive en kodeblok, der skal udføres, hvis ingen af betingelserne i kæden er opfyldt:
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") } }
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat