Heim >Backend-Entwicklung >Golang >So fügen Sie Tags in Golang hinzu
Golang wird als stark typisierte Sprache häufig in der Netzwerkprogrammierung und in Big-Data-Bereichen verwendet. In der tatsächlichen Entwicklung ist es häufig erforderlich, Tags zu Strukturen und Variablen hinzuzufügen, um die Serialisierung und Deserialisierung von Daten zu erleichtern. In diesem Artikel wird erläutert, wie Sie Tags in Golang hinzufügen.
`key1:"value1" key2:"value2"`Dabei stellt der Schlüssel den Namen des Etiketts dar und der Wert den dem Schlüssel entsprechenden Wert. Verwenden Sie Leerzeichen oder Tabulatoren, um mehrere Schlüssel-Wert-Paare zu trennen.
Verwenden Sie Tags, um Strukturfelder zu identifizieren
type Person struct { Name string `json:"name" xml:"name"` Age int `json:"age" xml:"age"` }
{ "name": "John", "age": 30 }Diese Tags können auch beim Speichern strukturierter Daten in der Datenbank verwendet werden. In der Gorm ORM-Bibliothek können Sie beispielsweise Tags verwenden, um Informationen wie Tabellennamen, Primärschlüssel und Feldtypen zu identifizieren.
type User struct { ID int `gorm:"primary_key"` UserName string `gorm:"type:varchar(100);unique_index"` Password string `gorm:"type:varchar(100)"` CreatedAt time.Time }In diesem Beispiel verwendet das ID-Feld das Tag
, um anzugeben, dass es sich um einen eindeutigen Indextyp mit einer Länge von 100 handelt. Das Feld „CreatedAt“ gibt den Zeitpunkt der Datensatzerstellung an.
gorm:"primary_key"
标签表示它是表的主键。UserName字段使用gorm:"type:varchar(100);unique_index"
Beschriftungen verwenden, um Variablen zu identifizieren
var Pi float64 `math:"pi"`In diesem Beispiel verwendet die Pi-Variable das Mathe-Tag, um ihren Wert als pi anzugeben. Diese Bezeichnung ändert sich nicht, wenn das Programm ausgeführt wird, es kann jedoch vor der Ausführung ein bestimmter Wert über die Codegenerierung zugewiesen werden.
So lesen Sie Tags
func getTag(obj interface{}, fieldName string, tagName string) string { t := reflect.TypeOf(obj) field, _ := t.FieldByName(fieldName) tag := field.Tag.Get(tagName) return tag }In diesem Beispiel akzeptiert die Funktion getTag() ein obj-Objekt, einen fieldName-Feldnamen und einen tagName-Tagnamen. Es verwendet das Reflect-Paket, um die Typinformationen und Feldnamen von obj abzurufen, und gibt dann den angeforderten Tag-Wert zurück. Diese Funktion kann aufgerufen werden mit:
p := Person{Name: "John", Age: 30} fmt.Println(getTag(p, "Name", "json")) // 输出:nameIn diesem Beispiel gibt die Funktion getTag() den JSON-Tag-Wert des Felds „Name“ zurück.
Zusammenfassung
Das obige ist der detaillierte Inhalt vonSo fügen Sie Tags in Golang hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!