Déclaration "goto" de Go et son objectif
Contrairement à la perception commune des instructions "goto" en tant que pratique de programmation du passé, Go les inclut étonnamment dans sa syntaxe. Des questions ont été soulevées concernant la justification de cette décision, malgré la croyance largement répandue selon laquelle les fonctions et les méthodes sont supérieures pour le contrôle des flux.
Motivation de Google pour inclure "goto"
La présence d'instructions « goto » dans la base de code de Go suggère qu'elles répondent à un objectif spécifique. L'examen du code source de la bibliothèque standard Go révèle des cas où "goto" est utilisé judicieusement.
Un exemple de la bibliothèque mathématique
Dans math/gamma.go fichier, "goto" est utilisé de la manière suivante :
for x < 0 { if x > -1e-09 { goto small } z = z / x x = x + 1 } for x < 2 { if x < 1e-09 { goto small } z = z / x x = x + 1 } // (Rest of the code omitted) small: if x == 0 { return Inf(1) } return z / ((1 + Euler*x) * x) }
Dans cet exemple, l'instruction "goto small" permet une sortie concise et compréhensible des boucles imbriquées, sans avoir besoin d'une variable auxiliaire pour contrôler le flux. Cela simplifie la lisibilité et la maintenabilité du code en éliminant la complexité inutile.
Restrictions sur "goto"
Il est important de noter que l'instruction "goto" de Go est soumise à certaines limitations. Il ne peut pas être utilisé pour sauter par-dessus des variables entrant dans la portée ou dans différents blocs de code. Ces restrictions garantissent que « goto » est utilisé de manière responsable et ne compromet pas la clarté ou la prévisibilité du code.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!