Maison > développement back-end > Golang > Pourquoi l'utilisation d'une structure dans un initialiseur de boucle For provoque-t-elle une erreur de syntaxe dans Go ?

Pourquoi l'utilisation d'une structure dans un initialiseur de boucle For provoque-t-elle une erreur de syntaxe dans Go ?

Patricia Arquette
Libérer: 2025-01-05 08:46:43
original
984 Les gens l'ont consulté

Why Does Using a Struct in a For Loop Initializer Cause a Syntax Error in Go?

Struct in for Loop Initializer

Dans un initialiseur de boucle for, l'utilisation d'une expression struct peut conduire à une erreur de syntaxe lors de la compilation. En effet, le compilateur peut devenir confus lorsqu'il essaie d'interpréter l'accolade ouvrante de la structure comme faisant partie d'un littéral composite ou du bloc for.

Pour éviter cette erreur et clarifier l'intention, des parenthèses peuvent être placées autour du littéral composite. Par exemple :

for r := (Request{}); r.err == nil; r.id++ {
    r.line, r.err = input.ReadSlice(0x0a)
    channel <- r
}
Copier après la connexion

Ici, les parenthèses définissent explicitement le littéral composite, permettant au compilateur d'interpréter correctement le 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