Maison >développement back-end >Golang >Comment puis-je ignorer des valeurs lors de la définition de constantes à l'aide de « iota » de Go ?

Comment puis-je ignorer des valeurs lors de la définition de constantes à l'aide de « iota » de Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-05 17:59:14706parcourir

How Can I Skip Values When Defining Constants Using Go's `iota`?

Saut de valeurs dans les variables const de Go

Dans Go, iota est un identifiant spécial qui permet d'attribuer des valeurs séquentielles aux constantes au sein d'un groupe de constantes. Cependant, il peut parfois être nécessaire de sauter certaines valeurs ou d'incrémenter la séquence d'un nombre spécifique.

Décalage manuel

Une approche consiste à décaler l'iota avec une constante et à laisser les expressions d'initialisation suivantes vides. :

const (
    APPLE = iota
    ORANGE
    PEAR
    BANANA = iota + 96 // Manual offset to get 99
    GRAPE
)

Cette méthode permet une compensation précise mais nécessite un calcul manuel.

Briser la constante Groupe

Vous pouvez également rompre le groupe constant et en créer un nouveau :

const (
    APPLE = iota
    ORANGE
    PEAR
)
const (
    BANANA = iota + 99 // Iota reset to 0 for new group
    GRAPE
)

Cette approche empêche les valeurs ignorées d'avoir un impact sur les constantes suivantes.

Décalage automatique

Dans les cas où il n'est pas souhaitable de rompre le groupe constant, vous pouvez introduire une constante pour représenter le groupe ignoré valeurs :

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK

    BANANA = iota - _BREAK + 98 // Offset by minus 1 to continue from 99
    GRAPE
)

Cela permet de sauter des valeurs tout en conservant l'intégrité du groupe constant.

Selon les préférences, _BREAK peut être initialisé avec iota 1 pour utiliser la valeur comme décalage :

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK = iota + 1

    BANANA = iota - _BREAK + 99 // Continue from 99
    GRAPE
)

Choisissez la méthode qui convient le mieux aux exigences spécifiques et aux objectifs de maintenabilité.

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!

Déclaration:
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