Kako dodeliti privzete vrednosti za polja struct v Golangu?

Kako Dodeliti Privzete Vrednosti Za Polja Struct V Golangu



Golang je sodoben programski jezik, ki je v zadnjih letih postal priljubljen. Ena od močnih lastnosti Golanga je njegova zmožnost definiranja in manipuliranja struktur. Strukture so uporabniško definirani tipi podatkov, ki razvijalcem omogočajo združevanje povezanih podatkovnih polj v en sam objekt. V Go, strukture lahko ima privzete vrednosti dodeljena njihovim poljem, kar olajša njihovo inicializacijo.

V tem eseju bomo raziskali, kako dodeliti a privzeta vrednost za strukturno polje v Golangu.

Kaj so strukturna polja?

Najprej je pomembno razumeti koncept strukturna polja . The strukturna polja so spremenljivke, ki so združene v a struct predmet. Vsak strukturno polje ima ime in tip podatkov. Na primer, struktura, ki predstavlja osebo, ima lahko polja, kot so ime, starost in spol.







Kako dodeliti privzete vrednosti za strukturna polja v Golangu?

Privzete vrednosti lahko dodelite za polja struktur v Go z uporabo:



  • Privzete ničelne vrednosti
  • Konstruktorji
  • Strukturni literali
  • Privzete vrednosti polj

1: Privzete ničelne vrednosti

V Go je mogoče dodelitev privzetih vrednosti poljem struct doseči z ' vrednost nič ”. Ta funkcija samodejno dodeli privzeto vrednost bodisi » 0 « ali » lažno ” v vsako neinicializirano polje, odvisno od vrste podatkov. To pomeni, da vam ni treba izrecno nastaviti privzetih vrednosti za vsako polje v strukturi, saj bo Go to naredil namesto vas.



Ta funkcija je lahko uporabna pri delu z velikimi strukturami z veliko polji, saj prihrani čas in trud pri ročnem nastavljanju privzetih vrednosti za vsako polje.





Tukaj je primer, ki uporablja vrednost nič za dodelitev privzetih vrednosti za polja struct:

glavni paket

uvoz 'fmt'

vrsta Struktura osebe {
Ime   niz
Starost    int
Višina plovca64
IsMale bool
}

glavna funkcija ( ) {
p1 := Oseba { ime: 'Janez' , starost: 30 }
fmt.Println ( p1.Ime )
fmt.Println ( p1.Starost )
fmt.Println ( p1.Višina )
fmt.Println ( p1.IsMale )
}

Zgornja koda definira osebo struct s štirimi polji: ime, starost, višina in je moški, ki so vsa podatkovnega tipa bool. Nato naredimo nov primerek razreda Person, p1, in inicializiramo nekatera njegova polja z uporabo struct literalov za podajanje imen in vrednosti polj. The privzete ničelne vrednosti za polja, ki niso bila izrecno nastavljena med inicializacijo, se prikažejo, ko natisnete vrednosti polj z fmt.Println .



Izhod

2: Konstruktorji

S pisanjem a konstruktor funkcijo za struct, lahko podate tudi privzete vrednosti za polja struct v Golangu. The konstruktor funkcija ustvari nov primerek strukture in nastavi privzete vrednosti za njena polja. Ta metoda prihrani trud in čas, zlasti pri interakciji z ogromnimi strukturami s številnimi polji.

Tukaj je primer, kako definirati a konstruktor funkcija s privzetimi vrednostmi polja za strukturo:

glavni paket

uvoz 'fmt'

vrsta Struktura osebe {
Ime    niz
Starost     int
Naslovni niz
}
func NewPerson ( ) * Oseba {
vrnitev & Oseba {
ime: 'John Doe' ,
starost: 30 ,
Naslov: '123 Main St' ,
}
}
glavna funkcija ( ) {
p := Nova oseba ( )
fmt.Println ( p.Ime, p.Starost, p.Naslov )
}

V zgornji kodi je a Oseba struct je definiran, kot tudi nova oseba() funkcijo, ki ustvari nov primerek Oseba struct z vnaprej določenimi privzetimi vrednostmi. Mi kličemo nova oseba() v glavni () s katerim ustvarite nov primerek osebe privzete vrednosti polja , nato pa natisnemo vrednosti polj tega primerka.

Izhod

3: Strukturni literali

V Golangu lahko nastavite privzete vrednosti za polja struct z uporabo struct literali prav tako. Preprosto sestavite nov primerek strukture in nastavite vrednosti za vsako polje, ki ga je treba inicializirati. Če želite nastaviti privzete vrednosti za polja, ki jih ne inicializirate izrecno, lahko uporabite funkcijo ničelne vrednosti.

Tukaj je primer uporabe struct literali za nastavitev privzetih vrednosti polja za strukturo:

glavni paket

uvoz 'fmt'

vrsta Struktura osebe {
Ime    niz
Starost     int
Naslovni niz
}
glavna funkcija ( ) {
p := Oseba {
ime: 'John Doe' ,
starost: 30 ,
}
fmt.Println ( p.Ime, p.Starost, p.Naslov )
}

V zgornji kodi definiramo a Oseba struct v tem primeru in ustvarite njegov nov primerek z uporabo literala struct in privzetih vrednosti za njegova polja. Nov Oseba primerek je ustvarjen v main(), pri čemer so nekatere vrednosti polj izpolnjene, druge pa ostanejo prazne. Odkar je Naslov polje ni inicializirano, prejme prazen niz, ki je privzeta vrednost za to polje. Nazadnje natisnemo vrednosti polja primerka osebe.

Izhod

4: Privzete vrednosti polj

Dodeljevanje privzete vrednosti do strukturna polja v Go je preprost postopek. The privzeta vrednost za polje struct lahko nastavite s sintakso ime polja: privzeta vrednost . Na primer, upoštevajte naslednjo definicijo strukture:

vrsta Struktura osebe {
Niz imena
Starost int
Niz spolov
}

Dodeliti privzete vrednosti za polja te strukture lahko uporabimo naslednjo sintakso:

p := Oseba {
ime: 'John Doe' ,
starost: 30 ,
spol: 'moški' ,
}

V zgornjem primeru smo dodelili privzete vrednosti na polja strukture Oseba. Če med inicializacijo izpustimo katero od vrednosti, bo privzeta vrednost bo uporabljen namesto tega. Na primer, če inicializiramo objekt Person takole:

p := Oseba {
ime: 'Jane Doe' ,
}

Nastali predmet Oseba bo imel privzete vrednosti za polji Starost in Spol, ki sta 0 oziroma prazen niz.

Tukaj je popolna koda, ki ponazarja zgornji postopek:

glavni paket
uvoz 'fmt'

vrsta Struktura osebe {
Ime   niz
Starost    int
Niz spolov
}
glavna funkcija ( ) {
p1 := Oseba {
ime: 'John Doe' ,
starost: 30 ,
spol: 'moški' ,
}
fmt.Println ( p1 )

p2 := Oseba {
ime: 'Jeremy' ,
}
fmt.Println ( p2 )
}

V zgornjem primeru zgradimo strukturo osebe, ki ima tri polja: ime, int, ki predstavlja starost, in spol, niz, ki predstavlja spol. Sintaksa inicializacije strukture se nato uporabi za izdelavo dveh primerkov osebe, p1 in p2. p1 je inicializiran z vrednostmi »John Doe« za ime, »30« za starost in »moški« za spol, kar so vse vrednosti, ki so bile izrecno navedene. Ker nismo podali vrednosti za starost in spol, jima bosta dodeljeni privzeti vrednosti 0 oziroma prazen niz. p2 se na začetku inicializira samo s podanim poljem Name.

Izhod

Zaključek

Dodeljevanje privzete vrednosti in Go je bistveni vidik programiranja s tem jezikom. Pomaga zagotoviti, da ima vsak ustvarjen primerek strukture dodeljene privzete podatke. Z uporabo katere koli od zgoraj razloženih metod lahko razvijalci nastavijo privzete vrednosti strukturnih polj učinkovito.