W języku Go struktura to zbiór zmiennych (pól) zgrupowanych pod jedną nazwą. Jest to złożony typ danych, który pozwala nam tworzyć niestandardowe struktury danych w celu przechowywania powiązanych informacji. Struktury w Go są jak klasy w programowaniu obiektowym, takim jak C i C ++, ale nie obsługują dziedziczenia. Zamiast tego polegają na składzie, aby osiągnąć ponowne wykorzystanie kodu. W tym artykule obejmuje struktury w Golang i sposób, w jaki możemy zadeklarować i uzyskać dostęp do członków struktury.
Co to jest struktura w Golang
W Golang struktura to złożony typ danych, który składa się z zerowych lub bardziej nazwanych pól, z których każdy ma określony typ. Pola struktury mogą być dowolnego typu, w tym inne struktury, tablice, funkcje lub interfejsy.
Oto przykład struktury w Golang:
Typ osobę struct
FullName String
Lata int
Adres lokalizacji
Typ adres struktura
StreetName String
CITYNAME String
String nazwy country
Tutaj zdefiniowaliśmy strukturę osoby, która ma trzy pola: pełna nazwa, lata i lokalizacja. Pole lokalizacji same jest strukturą, która ma trzy pola: nazwa ulic, nazwa miasta i nazwa country.
Jak deklarować strukturę w Golang
Możemy zadeklarować strukturę w Golang za pomocą typ Słowo kluczowe. Nazwa struktury jest zdefiniowana po typ Słowo kluczowe, a jego pola są zamknięte w kręconych aparatach ortodontycznych . Oto składnia do deklarowania struktury w Go:
Wpisz nazwa struktury struct
FieldName1 FieldType1
FieldName2 FieldType2
…
Poniżej znajduje się przykład, jak zadeklarować strukturę nazwaną o nazwie o nazwie dwóch pól i wiek typów String i int Int:
Typ osobę struct
Nazwa ciąg
wiek int
W powyższym kodzie użyliśmy typ słowo kluczowe do deklarowania nowej struktury wymienionej Osoba z dwoma polami nazwa ciągów typu i wiek typu int. Pola są oddzielone Nowa linia postać, ale Semicolon (;) można również użyć do ich rozdzielenia.
Jak uzyskać dostęp do Struct Member w Golang
Aby uzyskać dostęp do pól instancji struktury w języku Go kropka („.”) Używany jest operator. Po tym operatorze DOT następuje nazwa pola. Oto przykład, jak uzyskać dostęp do nazwy i pola wiekowego instancji struktury osoby:
// Utwórz nową instancję „Osoba” o imieniu „Kash” i wiek 24
Kash: = osoba imienia: „kash”, wiek: 24
// Uzyskaj dostęp do pola instancji „Kash”
fmt.Println (Kash.Nazwa) // wyjście: „Kash”
fmt.Println (Kash.wiek) // Wydajność: 24
W powyższym kodzie utworzyliśmy nową instancję struktura o nazwie Kash z nazwą Kash i wiek 24. Następnie uzyskujemy dostęp do nazwy i pola wiekowego instancji Kash Strec za pomocą („.”) operator i wydrukuj je na konsoli.
Należy zauważyć, że pola instancji struktur strzałka notacja (->) używane w niektórych innych językach programowania. Notacja kropkowa jest konsekwentnie używana w całym Go w celu uzyskania dostępu do pól struktur, a także właściwości i metod innych typów.
Przykładowy kod deklarowania i dostępu do członka struktury w Golang
Poniżej znajduje się kompletny przykład deklarowania osoby struktury w Go i drukowaniu jej wartości na ekranie:
Pakiet Main
importować „fmt”
Typ osobę struct
Nazwa ciąg
wiek int
func main ()
// Utwórz nową instancję „Osoba” o imieniu „Kash” i wiek 24
Kash: = osoba imienia: „kash”, wiek: 24
// Wydrukuj instancję „Nazwa” i „Age” „Kash” struct
fmt.Printf („Nazwa: %s \ n”, kash.nazwa)
fmt.Printf („wiek: %d \ n”, kash.wiek)
W wyżej napisanym kodzie najpierw zadeklarowaliśmy Osoba struct. Ta struktura zawiera dwa pola, które są nazwą i wiekiem. Następnie stworzyliśmy nową instancję struktury o imieniu Kash z nazwą Kash i wiek 24.
Aby wyświetlić nazwę i pola wiekowe, używamy fmt.Printf funkcja z %S I %D Sformatuj specyfikatory do wydrukowania odpowiednio nazwy i pól wiekowych.
Po uruchomieniu kod następujący wyjście pojawia się na konsoli:
Jak przekazać strukturę jako argumenty funkcyjne
Aby przekazać strukturę jako argument funkcji w Go, musimy po prostu określić typ struktury jako typ parametru w podpisie funkcji, a następnie przekazać instancję struktury jako argument podczas wywoływania funkcji.
Przykładowy kod
Poniższy przykład pokazuje, jak przekazać instancję struktury osoby jako argument funkcji w języku Go i wydrukować jej wartości na ekranie:
Pakiet Main
importować „fmt”
// deklaruj strukturę o nazwie „osoba” z dwoma dziedzinami: „nazwa” i „wiek”
Typ osobę struct
Nazwa ciąg
wiek int
// zadeklaruj funkcję o nazwie „PrintPerson”, która przyjmuje strukturę „osobę” jako argument
Func PrintPerson (p osoba)
fmt.Printf („Nazwa: %s \ n”, p.nazwa)
fmt.Printf („wiek: %d \ n”, p.wiek)
func main ()
// Utwórz nową instancję „Osoba” o imieniu „Kash” i wiek 24
Kash: = osoba imienia: „kash”, wiek: 24
// Przekaż instancję „Kash” struct do funkcji „PrintPerson”
PrintPerson (Kash)
W powyższym kodzie najpierw zadeklarowaliśmy strukturę osoby z dwoma dziedzinami, nazwa, I wiek. Następnie deklarujemy funkcję o nazwie PrintPerson To zabiera osobę struktura jako argument i drukuje jej nazwę i pola wiekowe na ekranie za pomocą FMT.Funkcja printf.
W głównej funkcji stworzyliśmy nową instancję struktura o nazwie Kash z nazwą Kash i wiek 24. Następnie przekazujemy instancję Kash struct do funkcji PrintPerson, wywołując funkcję PrintPerson i przekazując Kash jako argument.
Następujące dane wyjściowe można zobaczyć na konsoli po uruchomieniu powyższego kodu:
Wniosek
W Golang struktury mogą reprezentować złożone typy danych i zawierać powiązane dane. Struktura to typ danych złożony z jednego lub więcej pól, z których każdy ma określoną nazwę i typ. Pola struktury mogą być dowolnego typu, w tym inne struktury, tablice, funkcje lub interfejsy. W tym artykule szczegółowo omówiono struktury GO, aby uzyskać więcej informacji na temat deklarowania i dostępu do elementów struktur.