Heim > Backend-Entwicklung > Golang > Wie initialisiere ich eine Struktur mit einem String-Zeiger und erlaube Nullwerte?

Wie initialisiere ich eine Struktur mit einem String-Zeiger und erlaube Nullwerte?

Barbara Streisand
Freigeben: 2024-11-14 17:17:02
Original
542 Leute haben es durchsucht

How to Initialize a Struct with a String Pointer and Allow for Nil Values?

Strukturzeiger-Initialisierung

Das Initialisieren einer Struktur mit einem String-Zeiger kann schwierig sein, insbesondere wenn der Standardwert Null sein sollte.

Problem

Beim Versuch, eine Struktur mit einem String-Zeiger als Standardwert zu initialisieren und bei der Initialisierung einen konstanten String zu verwenden, tritt ein Fehler auf:

cannot use "string" (type string) as type *string in field value
Nach dem Login kopieren

Lösung

Um eine Struktur mit einem String-Zeiger zu initialisieren, der Null sein kann, müssen Sie dem Zeiger die Adresse einer Variablen und keinen konstanten Wert zuweisen. Hier ist ein modifizierter Code, der funktioniert:

type Config struct {
  Uri       *string
}

func init() {
  v := "my:default"
  var config = Config{ Uri: &v }
}
Nach dem Login kopieren

In diesem Fall enthält die Variable v den Standardzeichenfolgenwert. Indem wir seine Adresse mit dem &-Operator übernehmen und Uri zuweisen, erstellen wir einen String-Zeiger, der für Vergleiche verwendet werden kann und Null sein kann, wenn er nicht explizit festgelegt wird.

Das obige ist der detaillierte Inhalt vonWie initialisiere ich eine Struktur mit einem String-Zeiger und erlaube Nullwerte?. 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