Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Betinget Kædning | Kontrolstrukturer
Introduktion til Golang

bookBetinget 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

index.go

copy
12345678910
package 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

index.go

copy
1234567891011121314
package 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

index.go

copy
1234567891011121314151617
package 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

index.go

copy
123456789
package 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

index.go

copy
12345678910111213
package 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") } }
question mark

Hvilke af linjerne vil blive inkluderet i outputtet?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Suggested prompts:

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

bookBetinget 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

index.go

copy
12345678910
package 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

index.go

copy
1234567891011121314
package 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

index.go

copy
1234567891011121314151617
package 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

index.go

copy
123456789
package 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

index.go

copy
12345678910111213
package 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") } }
question mark

Hvilke af linjerne vil blive inkluderet i outputtet?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 3
some-alt