Betinget 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
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 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
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 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
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") } }
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
123456789package 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
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") } }
Takk for tilbakemeldingene dine!
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
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?
Fantastisk!
Completion rate forbedret til 1.96
Betinget 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
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 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
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 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
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") } }
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
123456789package 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
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") } }
Takk for tilbakemeldingene dine!