Erzwingen von Schlüsselfeldern mit mit einem Unterstrich benannten leeren Strukturfeldern
In Go stoßen Sie möglicherweise auf Code, der ein scheinbar eigenartiges Feld verwendet, das mit einem benannt ist Unterstrich (_), der eine leere Struktur enthält.
type SomeType struct { Field1 string Field2 bool _ struct{} }
Diese Technik spielt eine entscheidende Rolle bei der Durchsetzung Schlüsselfelder beim Deklarieren von Strukturen. Bedenken Sie Folgendes:
type SomeType struct { Field1 string Field2 bool _ struct{} } // Only keyed fields are permitted: bar := SomeType{Field1: "hello", Field2: true} // Compile error: foo := SomeType{"hello", true}
Durch die Verwendung eines leeren Strukturfelds mit Unterstrichnamen können Sie sicherstellen, dass alle Felder innerhalb einer Struktur durch ihre entsprechenden Feldnamen angegeben werden müssen. Dies ist besonders nützlich, wenn die Struktur in Zukunft erweitert wird, um zu vermeiden, dass vorhandener Code beschädigt wird, der die Zuweisung von Schlüsselfeldern voraussetzt.
Im Wesentlichen dient das mit einem Unterstrich benannte leere Strukturfeld als Platzhalter zum Erzwingen von Schlüsselfeldern und trägt so zur Robustheit bei und Wartbarkeit des Go-Codes.
Das obige ist der detaillierte Inhalt vonWie erzwingen mit Unterstrichen benannte leere Strukturfelder die Zuweisung von Schlüsselfeldern in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!