Maison > développement back-end > Golang > le corps du texte

Pourquoi Go inclut-il l'instruction « goto » ?

Patricia Arquette
Libérer: 2024-11-16 13:39:03
original
670 Les gens l'ont consulté

Why Does Go Include the

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)
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal