Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako používať štruktúry v Golangu [Kompletný návod]

## Štruktúry

- Štruktúry Golang nám umožňujú zoskupovať údaje.

- Sú podobné štruktúram v iných programovacích jazykoch.

- Štruktúry sú užívateľom definované dátové typy a umožňujú vám vytvárať si vlastné užívateľské typy.

- Štruktúry môžu obsahovať akýkoľvek typ údajov vrátane iných štruktúr.

Definícia štruktúry:

``` ísť

zadajte názov_štruktúry struct {

meno_člena typ1

meno_člena typ2

...

meno_člena typN

}

```

– Toto definuje štruktúru s názvom „názov_štruktúry“ s členmi „názov_člena“. Každý člen má typ, ktorým môže byť akýkoľvek platný typ Go.

Vytváranie štruktúr:

``` ísť

var názov_štruktúry =typ_štruktúry {

meno_člena1:hodnota1,

meno_člena2:hodnota2,

...

meno_členaN:hodnotaN

}

```

– Tým sa vytvorí premenná typu „názov_štruktúry“ a jej členovia sa inicializujú s danými hodnotami.

Prístup k členom:

- Na prístup k členu štruktúry použite bodkový operátor:`názov_štruktúry.názov_člena`.

Príklad:

``` ísť

// Definujte štruktúru s názvom osoba s členmi mena a veku.

typ person struct {

Menný reťazec

Vek int

}

func main() {

// Vytvorte osobu s názvom "John Doe".

osoba1 :=osoba{"John Doe", 30}

// Vytlačte Johnovo meno a vek.

fmt.Println("Meno:", osoba1.Meno)

fmt.Println("Vek:", osoba1.Vek)

}

```

Pomenované štruktúry:

- Ak štruktúra obsahuje polia základných dátových typov, potom ju možno deklarovať bez kľúčového slova struct.

``` ísť

zadajte MyStruct struct {

int

b plavák32

c reťazec

}

zadajte svoju štruktúru {

f int 'json:"first"'

l reťazec 'json:"posledný"'

}

```

- Pre `MyStruct` a `vaša štruktúra` vyššie je kľúčové slovo struct voliteľné

Anonymné štruktúry

- Anonymné štruktúry môžu byť použité na vytváranie ad-hoc dátových typov bez explicitného definovania typu struct.

- Keď sa anonymná štruktúra používa ako pole inej štruktúry alebo ako prvok výrezu/mapy, typ poľa je anonymná štruktúra a značka poľa je názov typu.

``` ísť

typ Štruktúra osoby {

reťazec mena

vek int

}

```

- Alternatívne možno anonymné štruktúry použiť na vytvorenie inštancie štruktúry bez definovania typu štruktúry.

``` ísť

var osoba =struct {

reťazec mena

vek int

}{meno:"Bob", vek:20}

```

- V tomto prípade premenná osoba typu `struct{ name string; age int }` sa vytvorí a inicializuje.

Štruktúry vkladania

- Vloženie štruktúry do inej štruktúry umožňuje formu dedenia v Go.

``` ísť

typ Štruktúra osoby {

reťazec mena

vek int

}

type Employee struct {

plat int

Osoba

}

```

- Tu „Zamestnanec“ vloží „Osoba“, takže premenná „Zamestnanec“ bude obsahovať polia „Osoba“ (meno a vek), ako aj jej vlastné polia.

``` ísť

emp :=Zamestnanec{plat:100000, Osoba:Osoba{meno:"John", vek:30}}

fmt.Println(zam.plat) // 100 000

fmt.Println(emp.name) // John

```

- Polia vloženej štruktúry sú povýšené na vonkajšiu (obsahujúcu) štruktúru, ako keby boli deklarované v štruktúre, ktorá obsahuje. K poliam „meno“ a „vek“ položky „Person“ je teraz možné pristupovať v premennej „Zamestnanec“ („emp“).

Značky v štruktúrach

- Štítky môžu byť pripojené k poliam štruktúry, aby poskytli ďalšie informácie. Tieto značky používajú reflexné a kódovače/dekodéry.

``` ísť

typ Štruktúra osoby {

reťazec názvu `json:"name"` // značka json

vek int `xml:"vek"` // značka xml

}

```

- Ak značky obsahujú medzery alebo iné špeciálne znaky.

Záver

- Štruktúry poskytujú spôsob, ako zoskupiť súvisiace údaje a vytvoriť si vlastné typy údajov v Go.

- Pomenované a anonymné štruktúry môžu byť použité v závislosti od situácie a vkladanie umožňuje formu dedenia.

- Tagy môžu byť pripojené k poliam štruktúry pre ďalšie metadáta a kompatibilitu so štandardnými knižnicami.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené