Avatar ·

Est-ce que break en Go interrompt seulement switch/select ou aussi la boucle externe ?

Bonjour à tous ! J'ai commencé à apprendre Go récemment et j'ai rencontré un comportement inattendu de l'instruction `break`. J'ai une boucle `for` qui contient un `switch`. Je m'attendais à ce que `break` à l'intérieur de `case` interrompe la boucle, mais cela ne s'est pas produit. Voici un exemple simplifié de mon code : ```go package main import "fmt" func main() { for i := 0; i < 5; i++ { switch i { case 2: fmt.Println("Trouvé 2, on sort de la boucle !") break // Je pensais que cela interromprait le for default: fmt.Printf("Itération %d\n", i) } } fmt.Println("Boucle terminée") } ``` Je m'attendais à ce qu'après l'affichage de "Trouvé 2, on sort de la boucle !", le programme termine la boucle et imprime "Boucle terminée". Cependant, en pratique, le programme continue les itérations : 0, 1, "Trouvé