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
Awesome!
Completion rate improved to 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!