Betinget Kædning
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
Can you give an example of using variables in a conditional chain?
What happens if none of the conditions in the chain are true?
Can you explain the difference between using chained conditionals and separate if statements?
Awesome!
Completion rate improved to 1.96
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!