Heim > Backend-Entwicklung > Golang > Wie initialisiert man am besten einen Bool-Zeiger in einem Go-Strukturliteral?

Wie initialisiert man am besten einen Bool-Zeiger in einem Go-Strukturliteral?

Linda Hamilton
Freigeben: 2024-12-07 19:33:15
Original
699 Leute haben es durchsucht

How to Best Initialize a Bool Pointer in a Go Struct Literal?

So initialisieren Sie einen Bool-Zeiger in einem Strukturliteral

In Go können Strukturen Felder haben, die Zeiger auf Bool-Werte sind. Beim Erstellen eines Strukturliterals können Sie den Wert eines Bool-Zeigerfelds mithilfe des Indirektionsoperators (*) angeben. Es gibt jedoch mehrere Möglichkeiten, dies zu erreichen.

Option 1: Verwenden eines Slice

Eine Option besteht darin, ein Slice mit einem einzelnen Bool-Wert von „true“ zu erstellen und dann Übernehmen Sie die Adresse seines ersten Elements:

h := handler{is: &[]bool{true}[0]}
Nach dem Login kopieren

Diese Methode vermeidet die Definition einer neuen Variablen, führt jedoch zusätzliche Boilerplates und ein Overhead.

Option 2: Verwenden einer Hilfsfunktion

Eine sauberere Lösung besteht darin, eine Hilfsfunktion zu definieren, um einen *bool-Wert mit dem gewünschten Wert zu erstellen:

func newTrue() *bool {
    b := true
    return &b
}

h := handler{is: newTrue()}
Nach dem Login kopieren

Option 3: Verwendung einer anonymen Funktion

Sie können auch eine anonyme Funktion verwenden Funktion zum Erstellen eines *bool-Werts mit dem gewünschten Wert in einer einzelnen Zeile:

h := handler{is: func() *bool { b := true; return &b }()}
Nach dem Login kopieren

Option 4: Verwenden einer Funktion mit einem Parameter

Alternativ können Sie Verwenden Sie eine Funktion, die einen booleschen Parameter annimmt und einen *boolschen Wert zurückgibt:

h := handler{is: func(b bool) *bool { return &b }(true)}
Nach dem Login kopieren

Die beste Option hängt von den spezifischen Anforderungen Ihrer Anwendung ab. Berücksichtigen Sie Faktoren wie Einfachheit, Effizienz und Lesbarkeit des Codes.

Das obige ist der detaillierte Inhalt vonWie initialisiert man am besten einen Bool-Zeiger in einem Go-Strukturliteral?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage