Villkorskedjning
Vi kan använda nyckelordet else if för att definiera ett ytterligare villkor som utvärderas om det föregående villkoret inte är uppfyllt:
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 ovan kontrolleras först uttrycket 3 > 4, vilket är false; därför fortsätter programmet till nästa sats (3 > 2) som definieras med nyckelordet else if. Nästa villkor är true, så utdata visar resultatet av det andra Println-anropet.
Vi kan lägga till så många ytterligare villkor som behövs med hjälp av else if-satser:
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 är viktigt att notera att ovanstående program endast skriver ut 3 is greater than 2, även om nästa villkor också är true. Detta visar att en if-else if-kedja slutar utvärdera villkor så snart den stöter på ett villkor som är true.
Denna process kallas för villkorskedjning eftersom vi i princip definierar villkor i en kedja med hjälp av nyckelorden if-else if.
Observera
I en villkorskedja exekveras endast ett kodblock, det som uppfyller villkoret, medan resten hoppas över.
Alternativt, istället för att kedja villkor med kombinationen if-else if, kan vi skriva varje villkor med separata if-satser. Denna metod ger dock ett annat resultat eftersom det inte längre är en enda kedja; det är en uppsättning separata villkor, och därför kommer exekveringen inte att avbrytas om ett eller flera villkor är uppfyllda:
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") } }
Hittills har vi, för enkelhetens skull, använt värden i booleska uttryck. Det är dock vanligare att använda variabler eller en kombination av variabler och värden i booleska uttryck:
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 villkorskedja kan vi använda nyckelordet else för att ange ett kodblock som ska köras om inget av villkoren i kedjan uppfylls:
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") } }
Tack för dina kommentarer!
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
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
Villkorskedjning
Svep för att visa menyn
Vi kan använda nyckelordet else if för att definiera ett ytterligare villkor som utvärderas om det föregående villkoret inte är uppfyllt:
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 ovan kontrolleras först uttrycket 3 > 4, vilket är false; därför fortsätter programmet till nästa sats (3 > 2) som definieras med nyckelordet else if. Nästa villkor är true, så utdata visar resultatet av det andra Println-anropet.
Vi kan lägga till så många ytterligare villkor som behövs med hjälp av else if-satser:
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 är viktigt att notera att ovanstående program endast skriver ut 3 is greater than 2, även om nästa villkor också är true. Detta visar att en if-else if-kedja slutar utvärdera villkor så snart den stöter på ett villkor som är true.
Denna process kallas för villkorskedjning eftersom vi i princip definierar villkor i en kedja med hjälp av nyckelorden if-else if.
Observera
I en villkorskedja exekveras endast ett kodblock, det som uppfyller villkoret, medan resten hoppas över.
Alternativt, istället för att kedja villkor med kombinationen if-else if, kan vi skriva varje villkor med separata if-satser. Denna metod ger dock ett annat resultat eftersom det inte längre är en enda kedja; det är en uppsättning separata villkor, och därför kommer exekveringen inte att avbrytas om ett eller flera villkor är uppfyllda:
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") } }
Hittills har vi, för enkelhetens skull, använt värden i booleska uttryck. Det är dock vanligare att använda variabler eller en kombination av variabler och värden i booleska uttryck:
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 villkorskedja kan vi använda nyckelordet else för att ange ett kodblock som ska köras om inget av villkoren i kedjan uppfylls:
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") } }
Tack för dina kommentarer!