Jakie są struktury w Golang

Jakie są struktury w Golang

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.