Heim >Backend-Entwicklung >Golang >Wie kann man Werte mithilfe von Iota in Go-Konstanten effizient überspringen?

Wie kann man Werte mithilfe von Iota in Go-Konstanten effizient überspringen?

Linda Hamilton
Linda HamiltonOriginal
2024-11-21 18:13:181045Durchsuche

How to Efficiently Skip Values Using Iota in Go Constants?

Wie kann man beim Definieren von Konstanten mit Iota in Go effizient Werte überspringen?

In Go ist iota ein Konstantengenerator, mit dem Sie mehrere Konstanten nacheinander definieren können. Was aber, wenn Sie während dieses Vorgangs eine beträchtliche Anzahl von Werten überspringen müssen?

Einzelne Gruppe, manueller Offset

Der einfachste Ansatz besteht darin, das Iota mit einer Konstante zu verschieben und nachfolgende Initialisierungsausdrücke zu belassen leer. Zum Beispiel:

const (
    APPLE = iota
    ORANGE
    PEAR
    BANANA = iota + 96 // 96 is manually calculated to get 99
    GRAPE
)

Dadurch werden 96 Werte übersprungen, bevor 99 BANANA zugewiesen werden. Beachten Sie jedoch, dass sich das Hinzufügen von Elementen vor BANANA auf die Werte von BANANA und nachfolgenden Konstanten auswirkt.

Aufbrechen der Konstantengruppe

Wenn Sie diese Abhängigkeit vermeiden müssen, können Sie die Konstantengruppe auflösen und beginnen ein neues. Der Wert von Iota wird auf 0 zurückgesetzt, wenn das reservierte Wort const auftritt. Zum Beispiel:

const (
    APPLE = iota
    ORANGE
    PEAR
)
const (
    BANANA = iota + 99 // iota is reset to 0
    GRAPE
)

Diese Methode stellt sicher, dass das Einfügen von Elementen vor BANANA die Werte von BANANA und nachfolgenden Konstanten nicht verändert.

Einzelne Gruppe, automatischer Offset

Zur Beibehaltung Wenn Sie beim Überspringen von Werten eine einzelne Konstantengruppe erstellen möchten, fügen Sie an der Stelle, an der Sie die Nummerierung unterbrechen möchten, eine Konstante ein. Subtrahieren Sie seinen Wert von Iota in der folgenden Zeile.

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK

    BANANA = iota - _BREAK + 98 // Continues from 98 + 1 = 99
    GRAPE
)

Alternativ können Sie _BREAK mit Iota 1 initialisieren, sodass der anzuwendende Offset den Wert von _BREAK selbst annimmt.

const (
    APPLE = iota
    ORANGE
    PEAR

    _BREAK = iota + 1

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

Wählen Sie den Ansatz, der am besten zu Ihrer Codestruktur und Ihren Vorlieben passt, um Werte beim Definieren von Konstanten mit iota in Go effizient zu überspringen.

Das obige ist der detaillierte Inhalt vonWie kann man Werte mithilfe von Iota in Go-Konstanten effizient überspringen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn