Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Betinget Kjeding | Kontrollstrukturer
Introduksjon til Golang

bookBetinget Kjeding

Vi kan bruke nøkkelordet else if for å definere en ekstra betingelse som blir evaluert dersom den forrige betingelsen ikke er oppfylt:

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 programmet ovenfor sjekkes uttrykket 3 > 4 først, som er false; derfor går programmet videre til neste setning (3 > 2) definert med nøkkelordet else if. Den neste betingelsen er true, så utdataene viser resultatet av den andre Println-setningen.

Vi kan legge til så mange ekstra betingelser som nødvendig ved å bruke else if-setninger:

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 viktig å merke seg at programmet ovenfor kun skriver ut 3 is greater than 2, selv om den neste betingelsen også er true. Dette viser at en if-else if-kjede stopper evalueringen av betingelser så snart den møter en betingelse som er true.

Denne prosessen kalles betinget kjeding fordi vi i hovedsak definerer betingelser i en kjede ved å bruke nøkkelordene if-else if.

Merk

I en betinget kjede blir kun én kodeblokk utført, den som oppfyller betingelsen, mens resten blir hoppet over.

Alternativt, i stedet for å kjede betingelser ved å bruke kombinasjonen if-else if, kan vi skrive hver betingelse med separate if-setninger. Denne tilnærmingen gir imidlertid et annet resultat fordi det ikke lenger er en enkelt kjede; det er et sett med separate betingelser, og derfor vil ikke utførelsen stoppe selv om én eller flere av betingelsene er oppfylt:

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

Så langt har vi, for enkelhets skyld, brukt verdier i boolske uttrykk. Det er imidlertid vanligere å bruke variabler eller en kombinasjon av variabler og verdier i boolske uttrykk:

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 betingelseskjede kan vi bruke nøkkelordet else for å angi en kodeblokk som skal kjøres dersom ingen av betingelsene i kjeden er oppfylt:

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 av linjene vil bli inkludert i utdataene?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

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?

bookBetinget Kjeding

Sveip for å vise menyen

Vi kan bruke nøkkelordet else if for å definere en ekstra betingelse som blir evaluert dersom den forrige betingelsen ikke er oppfylt:

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 programmet ovenfor sjekkes uttrykket 3 > 4 først, som er false; derfor går programmet videre til neste setning (3 > 2) definert med nøkkelordet else if. Den neste betingelsen er true, så utdataene viser resultatet av den andre Println-setningen.

Vi kan legge til så mange ekstra betingelser som nødvendig ved å bruke else if-setninger:

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 viktig å merke seg at programmet ovenfor kun skriver ut 3 is greater than 2, selv om den neste betingelsen også er true. Dette viser at en if-else if-kjede stopper evalueringen av betingelser så snart den møter en betingelse som er true.

Denne prosessen kalles betinget kjeding fordi vi i hovedsak definerer betingelser i en kjede ved å bruke nøkkelordene if-else if.

Merk

I en betinget kjede blir kun én kodeblokk utført, den som oppfyller betingelsen, mens resten blir hoppet over.

Alternativt, i stedet for å kjede betingelser ved å bruke kombinasjonen if-else if, kan vi skrive hver betingelse med separate if-setninger. Denne tilnærmingen gir imidlertid et annet resultat fordi det ikke lenger er en enkelt kjede; det er et sett med separate betingelser, og derfor vil ikke utførelsen stoppe selv om én eller flere av betingelsene er oppfylt:

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

Så langt har vi, for enkelhets skyld, brukt verdier i boolske uttrykk. Det er imidlertid vanligere å bruke variabler eller en kombinasjon av variabler og verdier i boolske uttrykk:

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 betingelseskjede kan vi bruke nøkkelordet else for å angi en kodeblokk som skal kjøres dersom ingen av betingelsene i kjeden er oppfylt:

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 av linjene vil bli inkludert i utdataene?

Select the correct answer

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 3. Kapittel 3
some-alt