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

Awesome!

Completion rate improved to 1.96

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