Tagi Golang struct

Tagi Golang struct
Struktura odnosi się do nazwanej jednostki o polach, każdy z jego nazwą i typem. Struktury są przydatne, gdy trzeba zdefiniować typy niestandardowe.

Przykład struktury w programie GO znajduje się poniżej:

Wpisz Struktura użytkownika
Id int
Nazwa ciąg
wiek int

Poprzedni przykład pokazuje wyraźną strukturę, w której pola należą do tej konkretnej struktury.

Możesz także zadeklarować ukrytą strukturę, w której pola są zadeklarowane w innej strukturze. Są one również znane jako struktury osadzone.

Przykład jest pokazany poniżej:

Wpisz Struktura użytkownika
Id int
Nazwa ciąg
wiek int

Wpisz programista struct
Użytkownik
wynagrodzenie int

W poprzednim przykładzie struktura programisty uzyskuje dostęp do pola struktury użytkownika.

Tagi struct

W programach GO możesz dodać opcjonalny string literał do pola struktury. Jest to znane jako tag struct. Służy do przechowywania metainformacji dla pola struktury. Następnie możesz wyeksportować informacje w polu do innych pakietów, aby odpowiednio wykonać operację lub ustrukturyzować dane.

Często znajdziesz znaczniki w kodowaniu pakietów, takich jak XML, JSON, YAML, ORMS i CONFIG MANAGANIING.

Aby zadeklarować znacznik dla pola struktury, możesz przekazać parę kluczowej wartości do sznurka dosłowne jako „klucz: wartość”. Aby dodać więcej niż jeden znacznik, oddziel każdy znacznik za pomocą miejsca.

Oto następujący przykład:

Wpisz Struktura użytkownika
Id int
Nazwa ciąg 'Max: "10"'
wiek int "

Tagi struktury i pakiet odbijania

Aby uzyskać dostęp i używać tagów struktur, będziesz potrzebować pakietu Reflect. Jest częścią standardowej biblioteki Go i możesz ją zaimportować z klauzulą:

Importuj „Zastanów się”

Zapewnia metody GET i wyszukiwania do pracy z tagami.

Aby sprawdzić, czy znacznik znajduje się w polu, możemy użyć metody wyszukiwania. Przykładowy kod znajduje się poniżej:

Pakiet Main
import (
„FMT”
"odbijać"
)
Wpisz Struktura użytkownika
Id int
Nazwa ciąg 'Max: "10"'
wiek int "

func main ()
u: = użytkownik 1, „Jane Doe”, 34
T: = Odbijaj.Typeof (u)
dla i: = 0; I < t.NumField(); i++
f: = t.Pole (i)
Jeśli _, ok: = f.Etykietka.Lookup („Max”); OK
fmt.Println („Znaleziono tag”)
w przeciwnym razie
fmt.Println („nie znaleziono znacznika”)


Poprzedni przykład kodu zapętlą się po polach struktury i sprawdź, czy określony znacznik znajduje się w polu.

Aby uzyskać pole z określonym znacznikiem, możemy wykonać następujące czynności:

Pakiet Main
import (
„FMT”
"odbijać"
)
Wpisz Struktura użytkownika
Id int
Nazwa ciąg 'Max: "10"'
wiek int "

func main ()
u: = użytkownik 1, „Jane Doe”, 34
T: = Odbijaj.Typeof (u)
dla i: = 0; I < t.NumField(); i++
fmt.Println (t.Pole (i).Nazwa)
fmt.Println (t.Pole (i).Etykietka.Get („Max”))

Wniosek

W tym artykule obejmuje podstawy pracy i używania tagów struktur. Ponadto omówiono definicję i charakter struktur. Mamy nadzieję, że ten artykuł jest pomocny. Sprawdź inne artykuły w Linux, aby uzyskać więcej wskazówek i samouczków.