Ako priradiť predvolené hodnoty pre struct Fields v Golang?

Ako Priradit Predvolene Hodnoty Pre Struct Fields V Golang



Golang je moderný programovací jazyk, ktorý si v posledných rokoch získal popularitu. Jednou zo silných vlastností Golangu je jeho schopnosť definovať a manipulovať so štruktúrami. Štruktúry sú užívateľom definované dátové typy, ktoré umožňujú vývojárom zoskupiť súvisiace dátové polia do jedného objektu. V režime Go štruktúr môže mať základné hodnoty priradené k ich poliam, čo značne uľahčuje ich inicializáciu.

V tejto eseji preskúmame, ako priradiť a predvolená hodnota pre pole struct v Golang.

Čo sú to štruktúrne polia?

Po prvé, je dôležité pochopiť pojem štruktúrne polia . The štruktúrne polia sú premenné, ktoré sú zoskupené do a štrukturovať objekt. Každý struct pole má názov a typ údajov. Napríklad štruktúra, ktorá predstavuje osobu, môže mať polia ako meno, vek a pohlavie.







Ako priradiť predvolené hodnoty pre štruktúrne polia v Golangu?

Základné hodnoty možno priradiť k poliam struct v Go pomocou:



  • Predvolené nulové hodnoty
  • Konštruktéri
  • Štruktúrne literály
  • Predvolené hodnoty polí

1: Predvolené nulové hodnoty

V Go možno priradenie predvolených hodnôt k poliam struct dosiahnuť pomocou „ nulová hodnota “. Táto funkcia automaticky priradí predvolenú hodnotu buď „ 0 “ alebo „ falošný ” do každého neinicializovaného poľa v závislosti od typu údajov. To znamená, že nemusíte explicitne nastavovať predvolené hodnoty pre každé pole v štruktúre, pretože Go to urobí za vás.



Táto funkcia môže byť užitočná pri práci s veľkými štruktúrami s mnohými poľami, pretože šetrí čas a námahu pri manuálnom nastavovaní predvolených hodnôt pre každé pole.





Tu je príklad, ktorý používa nulovú hodnotu na priradenie predvolených hodnôt pre polia struct:

hlavný balík

importovať 'fmt'

typu Štruktúra osoby {
Názov   reťazec
Vek    int
Výška plaváka64
IsMale bool
}

func main ( ) {
p1 := Osoba { Názov: 'John' , Vek: 30 }
fmt.Println ( p1.Meno )
fmt.Println ( p1.Vek )
fmt.Println ( p1.Výška )
fmt.Println ( p1.IsMale )
}

Vyššie uvedený kód definuje osobu štrukturovať so štyrmi poliami: Name, Age, Height a IsMale, pričom všetky sú typu bool. Potom vytvoríme novú inštanciu triedy Osoba, p1, a inicializujeme niektoré jej polia pomocou štruktúrnych literálov na zadanie názvov polí a hodnôt. The predvolené nulové hodnoty pre polia, ktoré neboli explicitne nastavené počas inicializácie, sa zobrazia pri tlači hodnôt polí pomocou fmt.Println .



Výkon

2: Konštruktéri

Písaním a konštruktér funkciu pre štruktúru, môžete tiež zadať predvolené hodnoty pre polia struct v Golang. The konštruktér funkcia vytvorí novú inštanciu štruktúry a nastaví predvolené hodnoty pre jej polia. Táto metóda šetrí námahu a čas, najmä pri interakcii s obrovskými štruktúrami s mnohými poľami.

Tu je príklad, ako definovať a konštruktér funkcia s predvolenými hodnotami polí pre štruktúru:

hlavný balík

importovať 'fmt'

typu Štruktúra osoby {
Menný    reťazec
Vek     int
Reťazec adresy
}
func NewPerson ( ) * Osoba {
vrátiť & Osoba {
Názov: 'John Doe' ,
Vek: 30 ,
Adresa: '123 Main St' ,
}
}
func main ( ) {
p := Nová osoba ( )
fmt.Println ( p.Meno, p.Vek, p.Adresa )
}

Vo vyššie uvedenom kóde a Osoba je definovaná štruktúra, ako aj newPerson() funkcia, ktorá vytvorí novú inštanciu funkcie Osoba struct s vopred určenými predvolenými hodnotami. Voláme newPerson() v Hlavná() na vytvorenie novej inštancie osoby s predvolené hodnoty polí a potom vytlačíme hodnoty polí tejto inštancie.

Výkon

3: Štruktúrne literály

V Golang môžete nastaviť predvolené hodnoty pre polia struct pomocou štruktúrne literály tiež. Jednoducho vytvorte novú inštanciu štruktúry a nastavte hodnoty pre každé pole, ktoré je potrebné inicializovať. Ak chcete nastaviť predvolené hodnoty pre polia, ktoré explicitne neinicializujete, môžete použiť funkciu nulovej hodnoty.

Tu je príklad použitia štruktúrne literály ak chcete nastaviť predvolené hodnoty polí pre štruktúru:

hlavný balík

importovať 'fmt'

typu Štruktúra osoby {
Menný    reťazec
Vek     int
Reťazec adresy
}
func main ( ) {
p := Osoba {
Názov: 'John Doe' ,
Vek: 30 ,
}
fmt.Println ( p.Meno, p.Vek, p.Adresa )
}

Vo vyššie uvedenom kóde definujeme a Osoba struct v tomto príklade a vytvorte jej novú inštanciu pomocou literálu štruktúry a predvolených hodnôt pre jej polia. Nový Osoba inštancia je vytvorená v main() s niektorými hodnotami polí vyplnenými a inými ponechanými prázdnymi. Keďže Adresa pole nie je inicializované, dostane prázdny reťazec, ktorý je predvolenou hodnotou pre toto pole. Nakoniec vytlačíme hodnoty polí inštancie osoby.

Výkon

4: Predvolené hodnoty polí

Priraďovanie základné hodnoty do štruktúrne polia v Go je jednoduchý proces. The predvolená hodnota pre pole struct možno nastaviť pomocou syntaxe fieldName:defaultValue . Zvážte napríklad nasledujúcu definíciu štruktúry:

typu Štruktúra osoby {
Menný reťazec
Vek int
Rodový reťazec
}

Priradiť základné hodnoty do polí tejto štruktúry môžeme použiť nasledujúcu syntax:

p := Osoba {
Názov: 'John Doe' ,
Vek: 30 ,
Rod: 'Muž' ,
}

Vo vyššie uvedenom príklade sme priradili základné hodnoty do polí štruktúry Osoba. Ak pri inicializácii vynecháme niektorú z hodnôt, predvolená hodnota namiesto toho sa použije. Napríklad, ak inicializujeme objekt Person takto:

p := Osoba {
Názov: 'Jane Doe' ,
}

Výsledný objekt Osoba bude mať základné hodnoty pre polia Vek a Pohlavie, ktoré sú 0 a prázdny reťazec.

Tu je úplný kód, ktorý ilustruje vyššie uvedený proces:

hlavný balík
importovať 'fmt'

typu Štruktúra osoby {
Názov   reťazec
Vek    int
Rodový reťazec
}
func main ( ) {
p1 := Osoba {
Názov: 'John Doe' ,
Vek: 30 ,
Rod: 'Muž' ,
}
fmt.Println ( p1 )

p2 := Osoba {
Názov: 'Jeremy' ,
}
fmt.Println ( p2 )
}

Vo vyššie uvedenom príklade vytvoríme štruktúru Osoba, ktorá má tri polia: Meno, int predstavujúce vek, a Pohlavie, reťazec predstavujúci pohlavie. Syntax inicializácie štruktúry sa potom použije na vytvorenie dvoch inštancií osoby, p1 a p2. p1 sa inicializuje hodnotami „John Doe“ pre Meno, „30“ pre Vek a „Muž“ pre Pohlavie, čo sú všetky hodnoty, ktoré boli výslovne poskytnuté. Keďže sme nezadali hodnoty pre Vek a Pohlavie, budú im priradené predvolené hodnoty 0 a prázdny reťazec. p2 sa na začiatku inicializuje iba s poskytnutým poľom Názov.

Výkon

Záver

Priraďovanie základné hodnoty in Go je základným aspektom programovania s týmto jazykom. Pomáha zabezpečiť, aby každá vytvorená inštancia štruktúry mala priradené predvolené údaje. Pomocou ktorejkoľvek z vyššie uvedených metód môžu vývojári nastaviť základné hodnoty štrukturálnych polí efektívne.