Syntaxe
Paramètres
| Nom |
Description |
| label |
Ce paramètre permet d'indiquer le nom de l'étiquette ou doit s'effectuer le branchement |
Description
Ce mot réservé permet d'effectuer un branchement à une instruction correspondant à l'emplacement de l'étiquette.
Remarque
- La portée d'une étiquette se limite à la procédure ou la fonction dans laquelle elle est définie. Il n'est donc pas possible de sauter dans une
autre procédure ou fonction.
- Si une instruction goto est en dehors d'une procédure ou fonction, son étiquette doit être spécifié dans une déclaration d'étiquette
dans l'entête de la procédure ou fonction dans laquelle l'étiquette est définie.
- Le mot clef GOTO permet d'effectuer un saut inconditionnel vers une étiquette définie ailleurs dans la même fonction ou procédure. C'est un outil de contrôle
de flux très direct. Cependant, son utilisation doit rester exceptionnelle.
- L'étiquette cible doit être définie clairement dans le corps du code avec un identifiant suivi de deux-points, comme 100:. Le compilateur relie cette étiquette au
GOTO correspondant. L'étiquette sert de repère fixe dans le programme.
- L'utilisation de GOTO peut conduire à un code difficile à lire, maintenir et déboguer, en créant ce qu'on appelle du "code spaghetti". Les programmeurs expérimentés
préfèrent généralement les structures conditionnelles et les boucles. Son usage est donc déconseillé sauf cas très particulier.
- GOTO peut être utile dans certaines situations, comme pour sortir rapidement d'une structure profondément imbriquée. Il offre une solution de contournement quand
les autres constructions de contrôle deviennent trop lourdes. Mais cela doit rester une exception contrôlée.
- Dans certains environnements Pascal modernes, GOTO est parfois désactivé ou déconseillé pour favoriser la programmation structurée. Il est ainsi absent de plusieurs
dialectes comme Free Pascal ou Delphi (ou très limité). Cela reflète une évolution
vers des pratiques plus sûres.
- L'emploi de GOTO est souvent remplacé par des structures telles que EXIT, BREAK, CONTINUE, ou des exceptions. Ces alternatives permettent un contrôle plus fin, plus
lisible et localisé. Il est donc recommandé de privilégier ces approches.
Dernière mise à jour : Mardi, le 25 octobre 2016